国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【opencv】示例-demhist.cpp 調(diào)整圖像的亮度和對(duì)比度,并在GUI窗口中實(shí)時(shí)顯示調(diào)整后的圖像以及其直方圖。...

這篇具有很好參考價(jià)值的文章主要介紹了【opencv】示例-demhist.cpp 調(diào)整圖像的亮度和對(duì)比度,并在GUI窗口中實(shí)時(shí)顯示調(diào)整后的圖像以及其直方圖。...。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

【opencv】示例-demhist.cpp 調(diào)整圖像的亮度和對(duì)比度,并在GUI窗口中實(shí)時(shí)顯示調(diào)整后的圖像以及其直方圖。...,opencv,人工智能,計(jì)算機(jī)視覺

【opencv】示例-demhist.cpp 調(diào)整圖像的亮度和對(duì)比度,并在GUI窗口中實(shí)時(shí)顯示調(diào)整后的圖像以及其直方圖。...,opencv,人工智能,計(jì)算機(jī)視覺

#include "opencv2/core/utility.hpp" // 包含OpenCV核心工具庫(kù)的頭文件
#include "opencv2/imgproc.hpp" // 包含OpenCV圖像處理的頭文件
#include "opencv2/imgcodecs.hpp" // 包含OpenCV圖像編碼解碼的頭文件
#include "opencv2/highgui.hpp" // 包含OpenCV高層GUI(圖形用戶界面)的頭文件


#include <iostream> // 包含標(biāo)準(zhǔn)輸入輸出流的頭文件


// 使用命名空間cv和std,避免每次調(diào)用OpenCV和標(biāo)準(zhǔn)庫(kù)函數(shù)時(shí)都需要前綴
using namespace cv;
using namespace std;


// 全局變量,分別用于存儲(chǔ)亮度和對(duì)比度的值
int _brightness = 100;
int _contrast = 100;


Mat image; // 全局變量,用于存儲(chǔ)圖像矩陣


/* 亮度/對(duì)比度調(diào)整回調(diào)函數(shù) */
static void updateBrightnessContrast( int /*arg*/, void* )
{
    int histSize = 64; // 定義直方圖的大小
    int brightness = _brightness - 100; // 計(jì)算新的亮度值
    int contrast = _contrast - 100; // 計(jì)算新的對(duì)比度值


    /*
     * 使用Werner D. Streidt的算法來(lái)調(diào)整亮度和對(duì)比度
     * (參見http://visca.com/ffactory/archives/5-99/msg00021.html)
     */
    double a, b;
    if( contrast > 0 )
    {
        double delta = 127.*contrast/100; // 計(jì)算對(duì)比度增量
        a = 255./(255. - delta*2); // 根據(jù)對(duì)比度增量計(jì)算系數(shù)a
        b = a*(brightness - delta); // 根據(jù)對(duì)比度增量和亮度計(jì)算系數(shù)b
    }
    else
    {
        double delta = -128.*contrast/100; // 計(jì)算對(duì)比度減量
        a = (256.-delta*2)/255.; // 根據(jù)對(duì)比度減量計(jì)算系數(shù)a
        b = a*brightness + delta; // 根據(jù)對(duì)比度減量和亮度計(jì)算系數(shù)b
    }


    Mat dst, hist; // 定義目標(biāo)圖像和直方圖矩陣
    image.convertTo(dst, CV_8U, a, b); // 應(yīng)用亮度和對(duì)比度的調(diào)整并轉(zhuǎn)換圖像格式
    imshow("image", dst); // 顯示調(diào)整后的圖像


    // 計(jì)算調(diào)整后圖像的直方圖
    calcHist(&dst, 1, 0, Mat(), hist, 1, &histSize, 0);
    Mat histImage = Mat::ones(200, 320, CV_8U)*255; // 創(chuàng)建直方圖的圖像


    // 對(duì)直方圖進(jìn)行歸一化操作
    normalize(hist, hist, 0, histImage.rows, NORM_MINMAX, CV_32F);


    histImage = Scalar::all(255); // 設(shè)置直方圖圖像的背景為白色
    int binW = cvRound((double)histImage.cols/histSize); // 計(jì)算每個(gè)bin的寬度


    // 繪制直方圖
    for( int i = 0; i < histSize; i++ )
        rectangle( histImage, Point(i*binW, histImage.rows),
                   Point((i+1)*binW, histImage.rows - cvRound(hist.at<float>(i))),
                   Scalar::all(0), -1, 8, 0 );
    imshow("histogram", histImage); // 顯示直方圖
}


// keys字符串定義了程序可以接受的命令行參數(shù)
const char* keys =
{
    "{help h||}{@image|baboon.jpg|input image file}"
};


// 程序主函數(shù)
int main( int argc, const char** argv )
{
    CommandLineParser parser(argc, argv, keys); // 創(chuàng)建命令行參數(shù)解析器
    parser.about("\nThis program demonstrates the use of calcHist() -- histogram creation.\n");
    if (parser.has("help")) // 如果提供了幫助標(biāo)志,則打印幫助信息
    {
        parser.printMessage();
        return 0;
    }
    string inputImage = parser.get<string>(0); // 獲取輸入的圖像文件


    // 讀取源圖像,使用高級(jí)GUI
    image = imread(samples::findFile(inputImage), IMREAD_GRAYSCALE); // 以灰度模式讀取圖像
    if(image.empty()) // 如果讀取圖像失敗,則打印錯(cuò)誤信息并退出
    {
        std::cerr << "Cannot read image file: " << inputImage << std::endl;
        return -1;
    }


    // 創(chuàng)建顯示窗口
    namedWindow("image", 0);
    namedWindow("histogram", 0);


    // 創(chuàng)建軌跡條以調(diào)整亮度和對(duì)比度,并設(shè)置回調(diào)函數(shù)
    createTrackbar("brightness", "image", &_brightness, 200, updateBrightnessContrast);
    createTrackbar("contrast", "image", &_contrast, 200, updateBrightnessContrast);


    // 使用默認(rèn)值更新亮度和對(duì)比度
    updateBrightnessContrast(0, 0);
    waitKey(); // 等待用戶按鍵


    return 0; // 程序正常退出
}

這段代碼是使用C++和OpenCV庫(kù)編寫的圖像處理程序,其主要功能是調(diào)整圖像的亮度和對(duì)比度,并在GUI窗口中實(shí)時(shí)顯示調(diào)整后的圖像以及其直方圖。用戶可以通過(guò)界面上的滑動(dòng)條來(lái)動(dòng)態(tài)地調(diào)整亮度和對(duì)比度參數(shù)從而觀察到圖像即時(shí)的變化效果。程序首先讀取并顯示一個(gè)灰度圖像,然后響應(yīng)用戶的交互輸入來(lái)更新圖像顯示和直方圖。

image.convertTo(dst, CV_8U, a, b);

【opencv】示例-demhist.cpp 調(diào)整圖像的亮度和對(duì)比度,并在GUI窗口中實(shí)時(shí)顯示調(diào)整后的圖像以及其直方圖。...,opencv,人工智能,計(jì)算機(jī)視覺

calcHist(&dst, 1, 0, Mat(), hist, 1, &histSize, 0);

【opencv】示例-demhist.cpp 調(diào)整圖像的亮度和對(duì)比度,并在GUI窗口中實(shí)時(shí)顯示調(diào)整后的圖像以及其直方圖。...,opencv,人工智能,計(jì)算機(jī)視覺

normalize(hist, hist, 0, histImage.rows, NORM_MINMAX, CV_32F);

【opencv】示例-demhist.cpp 調(diào)整圖像的亮度和對(duì)比度,并在GUI窗口中實(shí)時(shí)顯示調(diào)整后的圖像以及其直方圖。...,opencv,人工智能,計(jì)算機(jī)視覺文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-846293.html

到了這里,關(guān)于【opencv】示例-demhist.cpp 調(diào)整圖像的亮度和對(duì)比度,并在GUI窗口中實(shí)時(shí)顯示調(diào)整后的圖像以及其直方圖。...的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • OpenCV改變圖像的對(duì)比度和亮度

    OpenCV改變圖像的對(duì)比度和亮度

    在本教程中,您將學(xué)習(xí)如何: 訪問(wèn)像素值 用零初始化矩陣 了解 cv::saturate_cast 的作用以及它為什么有用 獲取有關(guān)像素轉(zhuǎn)換的一些很酷的信息 在實(shí)際示例中提高圖像的亮度 注意 下面的解釋屬于Richard Szeliski的《計(jì)算機(jī)視覺:算法和應(yīng)用》一書 圖像處理 一般圖像處理算子是

    2024年02月21日
    瀏覽(27)
  • OpenCV增加圖像的亮度及對(duì)比度

    OpenCV增加圖像的亮度及對(duì)比度

    案例:輸出一張?jiān)瓐D,增加該圖片的亮度及對(duì)比度 基本概念: 亮度:RGB的像素值范圍是0~255,我們稱從0——255隨著像素值的增加圖像會(huì)越來(lái)月亮,反之會(huì)越來(lái)越暗。所以我們可以通過(guò)對(duì)圖像像素加減來(lái)改變圖像的亮度。 對(duì)比度:其反應(yīng)的是圖像中各像素的差異(層次感、落

    2024年02月12日
    瀏覽(24)
  • C#使用OpenCv(OpenCVSharp)圖像處理實(shí)例:亮度、對(duì)比度、灰度

    本文實(shí)例演示C#語(yǔ)言中如何使用OpenCv(OpenCVSharp)對(duì)圖像進(jìn)行亮度、對(duì)比度、灰度處理。 目錄 亮度和對(duì)比度原理 灰度 實(shí)例 圖像亮度通俗理解便是圖像的明暗程度,數(shù)字圖像?f(x,y) = i(x,y) r(x, y)?,如果灰度值在[0,255]之間,則?f?值越接近0亮度越低,f?值越接近255亮度越

    2024年02月13日
    瀏覽(27)
  • 3d模型素材亮度和對(duì)比度如何調(diào)整呢?

    3d模型素材亮度和對(duì)比度如何調(diào)整呢?

    1、修改材質(zhì)參數(shù):打開3ds Max后,選擇要調(diào)整亮度和對(duì)比度的3D模型素材。然后,進(jìn)入材質(zhì)編輯器,選擇相應(yīng)的材質(zhì)球。在材質(zhì)編輯器中,你可以調(diào)整材質(zhì)的漫反射、反射和高光等參數(shù),這些參數(shù)將影響模型的亮度和對(duì)比度。通過(guò)調(diào)整參數(shù),你可以使模型素材更加明亮或昏暗,

    2024年01月19日
    瀏覽(27)
  • FFmpeg濾鏡: 調(diào)整視頻的亮度-對(duì)比度-飽和度

    FFmpeg濾鏡: 調(diào)整視頻的亮度-對(duì)比度-飽和度

    亮度是指圖片的明暗程度,對(duì)比度是指圖片明暗的差異,飽和度則是指圖片顏色的飽滿程度。在計(jì)算機(jī)中每個(gè)圖片上的像素點(diǎn)都由三個(gè)字節(jié)來(lái)進(jìn)行表示,分別代表著像素的RGB數(shù)據(jù)。 圖片上每個(gè)像素的每種顏色都可以有從0到255的變化,數(shù)值越高,顏色的亮度越大,因此當(dāng)改變

    2024年02月13日
    瀏覽(26)
  • Opencv C++圖像處理:亮度+對(duì)比度+飽和度+高光+暖色調(diào)+陰影+漫畫效果+白平衡+浮雕+羽化+銳化+顆粒感

    Opencv C++圖像處理:亮度+對(duì)比度+飽和度+高光+暖色調(diào)+陰影+漫畫效果+白平衡+浮雕+羽化+銳化+顆粒感

    更多詳細(xì)信息請(qǐng)看:OpenCV專欄:翟天保Steven

    2024年02月04日
    瀏覽(23)
  • 數(shù)字圖像處理:亮度對(duì)比度-幾何變換-噪聲處理

    數(shù)字圖像處理:亮度對(duì)比度-幾何變換-噪聲處理

    亮度與對(duì)比度轉(zhuǎn)換 圖像變換可分為以下兩種: 點(diǎn)算子:基于像素變換,在這一類圖像變換中,僅僅根據(jù)輸入像素值計(jì)算相應(yīng)的輸出像素值 鄰域算子:基于圖像區(qū)域進(jìn)行變換 兩種常用的點(diǎn)算子是用常數(shù)對(duì)點(diǎn)的像素值進(jìn)行乘法或加法運(yùn)算,可以表示為: g ( i , j ) = α ? f ( i ,

    2024年02月10日
    瀏覽(31)
  • OpenCvSharp學(xué)習(xí)筆記6--改變圖像的對(duì)比度和亮度

    OpenCvSharp學(xué)習(xí)筆記6--改變圖像的對(duì)比度和亮度

    訪問(wèn)像素值mat.AtT(y,x) 用0初始化矩陣Mat.Zeros 飽和操作SaturateCast.ToByte g(x)=αf(x)+β 用α(0)和β一般稱作增益(gain)和偏置(bias),分別控制對(duì)比度和亮度 把f(x)看成源圖像像素,把g(x)看成輸出圖像像素 g(i,j)=α?f(i,j)+β 其中,i和j表示像素位于 第i行 和 第j列(左上角為第0行、第0列) M

    2024年02月03日
    瀏覽(32)
  • 使用OpenCV處理圖片的亮度、對(duì)比度、曝光、高光、陰影、飽和度、色溫,色相(附源碼)

    屏幕錄制2023-05-22 22.09.32 集成opencv的方式請(qǐng)參照上一個(gè)帖子 OpenCV在iOS端的集成及Mat和UIImage互相轉(zhuǎn)化(附源碼) 廢話不多說(shuō)直接上代碼,伸手黨福利: 代碼中記得引入頭文件及命名空間 下面的處理方法統(tǒng)一對(duì)使用最多的8bit圖片處理,如果是16bit的圖片需要修改對(duì)應(yīng)的格式,在

    2024年02月11日
    瀏覽(30)
  • opencv-圖像對(duì)比度增強(qiáng)

    opencv-圖像對(duì)比度增強(qiáng)

    對(duì)比度增強(qiáng),即將圖片的灰度范圍拉寬,如圖片灰度分布范圍在[50,150]之間,將其范圍拉升到[0,256]之間。這里介紹下 線性變換,直方圖正規(guī)化,伽馬變換,全局直方圖均衡化,限制對(duì)比度自適應(yīng)直方圖均衡化等算法。 線性變換 通過(guò)函數(shù)y=ax+b對(duì)灰度值進(jìn)行處理,例如對(duì)于過(guò)暗

    2024年01月16日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包