彩色直方图均衡*OpenCV*Qt

代码

参考自《OpenCV图像处理编程实例》

main.cpp
#include 
#include 
#include 

using namespace cv; //下面的所有cv相关类型不用加上前缀了
using namespace std;

int main(int argc, char *argv[])
{
    Mat src = imread("../3.jpg") ;
    if ( !src.data )
        return 1 ;
    // 存储彩色直方图及图像通道向量
    cv::Mat colorHeqImage ;
    vector < cv::Mat > BGR_plane ;
    //对BGR通道进行分离
    split ( src , BGR_plane ) ;
    // 分别对BGR通道进行直方图均衡化
    for ( int i=0 ; i < BGR_plane.size ( ) ; i++ )
          equalizeHist ( BGR_plane [ i ] , BGR_plane [ i ] ) ;
    // 合并对应的各个通道
    merge ( BGR_plane , colorHeqImage ) ;

    imshow ("src", src ) ;
    imshow ("colorHeqImage", colorHeqImage ) ;
    waitKey ( 0 ) ;
    return 0 ;
}

.pro文件

QT       += core

QT       -= gui

TARGET = test_colorEqual
CONFIG   += console
CONFIG   -= app_bundle

TEMPLATE = app

SOURCES += main.cpp

#指定编译项目时应该被搜索的#include目录(头文件所在的目录)
INCLUDEPATH +=  \
                /usr/include/opencv2

#指定链接到项目中的库列表
LIBS +=\
        /usr/lib/x86_64-linux-gnu/libopencv_core.so \
        /usr/lib/x86_64-linux-gnu/libopencv_imgproc.so \
        /usr/lib/x86_64-linux-gnu/libopencv_highgui.so \

你可能感兴趣的:(Qt+OpenCV编程)