溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Qt5.14與OpenCV4.5中圖片的增強(qiáng)效果是怎樣的

發(fā)布時(shí)間:2021-11-29 09:26:16 來源:億速云 閱讀:124 作者:柒染 欄目:開發(fā)技術(shù)

這篇文章給大家介紹Qt5.14與OpenCV4.5中圖片的增強(qiáng)效果是怎樣的,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

一、建立Qt工程

1、選擇類別

Qt5.14與OpenCV4.5中圖片的增強(qiáng)效果是怎樣的

2、建立項(xiàng)目名稱

Qt5.14與OpenCV4.5中圖片的增強(qiáng)效果是怎樣的

3、選擇Qt基類及修改名稱

Qt5.14與OpenCV4.5中圖片的增強(qiáng)效果是怎樣的

4、選擇編譯器(這邊兩個(gè)都選擇,生成兩個(gè)Debug文件)

Qt5.14與OpenCV4.5中圖片的增強(qiáng)效果是怎樣的

5、選擇運(yùn)行環(huán)境,生成文件夾

Qt5.14與OpenCV4.5中圖片的增強(qiáng)效果是怎樣的 Qt5.14與OpenCV4.5中圖片的增強(qiáng)效果是怎樣的

生成的項(xiàng)目文件夾

Qt5.14與OpenCV4.5中圖片的增強(qiáng)效果是怎樣的

6、將預(yù)先編譯好的OpenCV4.5下路徑F:\OpenCV4.5.0\opencv\buildmingw\install\x64\mingw\bin下所有文件復(fù)制到Qt 上面兩個(gè)文件夾內(nèi)

Qt5.14與OpenCV4.5中圖片的增強(qiáng)效果是怎樣的

7、在項(xiàng)目的.pro文件中添加語句

INCLUDEPATH += F:\OpenCV4.5.0\opencv\buildmingw\install\include
CONFIG(debug, debug|release): {
LIBS += F:\OpenCV4.5.0\opencv\buildmingw\install\x64\mingw\bin\libopencv_*d.dll
} else:CONFIG(release, debug|release): {
LIBS += -LF:\OpenCV4.5.0\opencv\buildmingw\install\x64\mingw\bin\
    -llibopencv_core450 \
    -llibopencv_highgui450 \
    -llibopencv_imgcodecs450 \
    -llibopencv_imgproc450 \
    -llibopencv_features2d450 \
-llibopencv_calib3d450
}

完成項(xiàng)目配置

二、界面設(shè)計(jì)

1、界面及屬性設(shè)置

Qt5.14與OpenCV4.5中圖片的增強(qiáng)效果是怎樣的

屬性設(shè)置

序號(hào)

名稱

類型

屬性設(shè)置

viewLabel

QLabel

frameShape:Box
frameShadow:Sunken

contrastVerticalSlider

QSlider

maximum:100
value:33
tickPostion:TicksBelow

brightnessVerticalSlider

QSlider

maximum:100

contrastLabel

QLabel

text:對(duì)比度

brightLabel

QLabel

text:亮度

2、在頭文件中聲明變量及設(shè)置公有函數(shù),并生成對(duì)應(yīng)定義函數(shù)

Qt5.14與OpenCV4.5中圖片的增強(qiáng)效果是怎樣的

Qt5.14與OpenCV4.5中圖片的增強(qiáng)效果是怎樣的

3、完成各公有函數(shù)功能代碼

/**********************界面初始化**************************/
void PictureEnhance::initMainWindow()
{
    QString     imgPath = "D:\\Qt\\QtOpencvEnhance\\lena.jpg"; //本地路徑(圖片直接放在項(xiàng)目目錄下)
    Mat         imgData = imread(imgPath.toLatin1().data());   //讀取圖片數(shù)據(jù)
 
    cvtColor(imgData,imgData, COLOR_BGR2RGB);                  //圖片格式轉(zhuǎn)換
 
    myImg               = imgData;
 
    myQImg  = QImage((const unsigned char*)(imgData.data), imgData.cols, imgData.rows, QImage::Format_RGB888);
 
    imgShow();
}
 
 
/**********************處理圖片*****************************/
void PictureEnhance::imgProc(float con, int bri)
{
    Mat     imgSrc = myImg;
    Mat     imgDst = Mat::zeros(imgSrc.size(),imgSrc.type());  //初始生成空的零像素陣列
    imgSrc.convertTo(imgDst,-1,con,bri);
    myQImg = QImage((const unsigned char*)(imgDst.data), imgDst.cols,imgDst.rows, QImage::Format_RGB888);
    imgShow();
}
 
/**********************顯示圖片******************************/
void PictureEnhance::imgShow()
{
    ui->ViewLabel->setPixmap(QPixmap::fromImage(myQImg.scaled(ui->ViewLabel->size(),Qt::KeepAspectRatio)));
    ui->ViewLabel->setScaledContents(true);
}

4、滑動(dòng)條實(shí)現(xiàn)功能

轉(zhuǎn)到uil設(shè)置界面,右鍵對(duì)比度滑動(dòng)條,轉(zhuǎn)到槽

Qt5.14與OpenCV4.5中圖片的增強(qiáng)效果是怎樣的

完成槽函數(shù)

/***********************對(duì)比度滑動(dòng)條拖動(dòng)槽*********************************/
void PictureEnhance::on_contrastVerticalSlider_sliderMoved(int position)
{
    imgProc(position / 33.3,0);
}
 
 
/***********************對(duì)比度滑動(dòng)條值改變槽***************************/
void PictureEnhance::on_contrastVerticalSlider_valueChanged(int value)
{
    imgProc(value / 33.3,0);
}
 
/****************************亮度滑動(dòng)條拖動(dòng)槽*****************************/
void PictureEnhance::on_brightnessVerticalSlider_sliderMoved(int position)
{
    imgProc(1.0,position);
}
 
/**************************亮度滑動(dòng)條值改變槽************************/
void PictureEnhance::on_brightnessVerticalSlider_valueChanged(int value)
{
    imgProc(1.0,value);
}

運(yùn)行效果:

Qt5.14與OpenCV4.5中圖片的增強(qiáng)效果是怎樣的

關(guān)于Qt5.14與OpenCV4.5中圖片的增強(qiáng)效果是怎樣的就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI