MFC中采用分段线性对比度处理图像并且显示在控件中
来源:互联网 发布:banner设计软件 编辑:程序博客网 时间:2024/06/11 23:03
功能:获取原图后,通过opencv相关函数对图像像素点进行对比度处理,然后在MFC的PictureControl中显示出来。
采用Opencv2.3.1,CvvImage类已经不在其中,需要额外增加,需要自行下载。
参数过多,更多实用算法可在此基础上开发。
头文件:
CvvImage m_CvvImage; IplImage* m_Frame;int m_X1;int m_Y1;int m_X2;int m_Y2;
实现:
void XXX::OnBnClickedButtonSetContrast(){UpdateData(TRUE);pDC=pStc->GetDC(); //得到Picture控件设备上下文 hDC=pDC->GetSafeHdc(); //得到控件设备上下文的句柄int nRows = srcImage.rows; int nCols = srcImage.cols; Mat dstImage = srcImage.clone() ;//完全拷贝,把image中的所有信息拷贝到image1中//判断图像的连续性 if (dstImage.isContinuous()) { nCols = nRows*nCols; nRows = 1; } uchar *pDataMat; for( int j = 0; j < nRows; j++ ){pDataMat = dstImage.ptr<uchar>(j);//ptr<>()得到的是一行指针for( int i = 0; i < nCols; i++ ){if (pDataMat[i]<=m_X1) pDataMat[i] = m_Y1 * pDataMat[i] / m_X1;else if ( pDataMat[i]<=m_X2) pDataMat[i] = (m_Y2-m_Y1)*( pDataMat[i]-m_X1)/(m_X2-m_X1) + m_Y1;else pDataMat[i] = (255-m_Y2)*( pDataMat[i]-m_X2)/(255-m_X2) + m_Y2;if (pDataMat[i] < 0) pDataMat[i] = 0;if (pDataMat[i] > 255) pDataMat[i] = 255;}}imshow("原图", srcImage); //与效果图对比Mat iMat(dstImage.rows, dstImage.cols, CV_8UC1, pDataMat, dstImage.cols);m_Frame=&IplImage(iMat);m_CvvImage.CopyOf(m_Frame); m_CvvImage.DrawToHDC(hDC, &rect); m_CvvImage.Destroy();ReleaseDC( pDC );UpdateData(FALSE);}
阅读全文
1 0
- MFC中采用分段线性对比度处理图像并且显示在控件中
- Qt中通过控件平滑处理图像并且显示在Label标签中
- 在MFC中使用OpenCV,控件显示图像
- 在MFC中使用opencv显示图像到MFC的PictureBox控件中
- MFC中使用openCV显示、处理图像
- MFC中使用openCV显示、处理图像
- 在MFC中显示IplImage图像
- 使用OpenCV在MFC中显示图像
- 在MFC中显示opencv图像
- mfc从磁盘中打开图像文件并显示在图像控件中
- MFC中打开任意图像并在picture control控件中显示Mat对象
- MFC中picture控件中利用OpenCV显示图像
- C++图像处理 -- 线性亮度/对比度调整
- Delphi图像处理 -- 线性亮度/对比度调整
- WinCE6.0学习笔记(图像读取并显示在MFC控件中)
- 在MFC控件中显示opencv库中的图像或者视频
- 在MFC控件中显示opencv库中的图像或者视频用的CvvImage
- 在MFC控件中显示opencv库中的图像或者视频用的CvvImage
- 数据结构——基本常识
- Redis解析之Redis命令
- 快速清除IE缓存命令行
- VS2010——MFC编写线程的进度条
- PAT 1001. A+B Format (20) c++版
- MFC中采用分段线性对比度处理图像并且显示在控件中
- Hadoop 工程所需要的jar包
- Ubuntu16.04 安装skimage
- ubuntu16.04远程服务器安装mysql
- 限时秒杀倒计时案例
- Ubuntu下不启动图形界面运行matlab
- CSS 选择符有哪些?哪些样式可以继承?优先级算法如何计算? CSS3新增伪类有那些?
- linux定时任务的设置
- 日志数据打印与采集总结