改变HSV的H和V部分(比如可以增加图像亮度)
2014-08-14 15:30
106 查看
程序:
效果:增加图像亮度
![](http://s3.51cto.com/wyfs02/M01/45/D9/wKioL1PsZtySAxxoAAGUSEwchqM499.jpg)
代码:
本文出自 “flyclc” 博客,请务必保留此出处http://flyclc.blog.51cto.com/1385758/1539972
效果:增加图像亮度
![](http://s3.51cto.com/wyfs02/M01/45/D9/wKioL1PsZtySAxxoAAGUSEwchqM499.jpg)
代码:
#include "cv.h" #include "cxcore.h" #include "highgui.h" #include <iostream> void Max(IplImage* hsv) { for(int rows=0;rows<hsv->height;rows++) { float *data=(float *)(hsv->imageData+rows*hsv->widthStep); for(int cols=0;cols<hsv->width;cols++) { //*(data+cols*hsv->nChannels+1)=255; //改变S *(data+cols*hsv->nChannels+2)+=30; //改变V } } } int IplImageChange(int argc,char** argv) { IplImage* BGRSrc=cvLoadImage("e:\\picture\\4.jpg"); cvNamedWindow("BGRSrc"); cvShowImage("BGRSrc",BGRSrc); IplImage* BGR32=cvCreateImage(cvGetSize(BGRSrc),32,BGRSrc->nChannels); cvZero(BGR32); cvConvertScale(BGRSrc,BGR32);//把源图像转换成32位浮点型 IplImage* HSV=cvCreateImage(cvGetSize(BGRSrc),32,BGRSrc->nChannels); cvZero(HSV); cvCvtColor(BGR32,HSV,CV_BGR2HSV);//BGR转换为HSV cvNamedWindow("HSV"); cvShowImage("HSV",HSV); Max(HSV); //改变HSV cvNamedWindow("HSVMax"); cvShowImage("HSVMax",HSV); cvZero(BGR32); cvCvtColor(HSV,BGR32,CV_HSV2BGR); //HSV转换为BGR32位 cvNamedWindow("BGR32Dst"); cvShowImage("BGR32Dst",BGR32); IplImage* BGRDst=cvCreateImage(cvGetSize(BGRSrc),8,BGRSrc->nChannels); cvZero(BGRDst); cvConvertScale(BGR32,BGRDst); //BGR32位转换为BGR8位 cvNamedWindow("BGRDst"); cvShowImage("BGRDst",BGRDst); cvWaitKey(0); cvDestroyWindow("BGRSrc"); cvDestroyWindow("HSV"); cvDestroyWindow("HSVMax"); cvDestroyWindow("BGR32Dst"); cvDestroyWindow("BGRDst"); cvReleaseImage(&BGRSrc); cvReleaseImage(&BGR32); cvReleaseImage(&HSV); cvReleaseImage(&BGRDst); return 0; }
本文出自 “flyclc” 博客,请务必保留此出处http://flyclc.blog.51cto.com/1385758/1539972
相关文章推荐
- 外部托拽文件时,在目标区域改变光标图像,实现部分区域可以拖放。
- OpenCV学习:改变图像的对比度和亮度
- OpenCV 基于RGB三原色的基本线性变换 改变图像颜色和亮度 对比度增强算法
- Opencv改变图像亮度和对比度以及优化
- opencv-改变图像的对比度和亮度
- 改变图像的对比度和亮度
- 仅最大化HSV图像“S”和“V”部分
- 【数字图像处理】OpenCV最大化HSV图像的"S"和"V"部分
- 改变图像的部分通道值(图像指针操作)
- [置顶] Android改变图像的饱和度、亮度和对比度
- opencv c++函数 基础5 改变图像的对比度和亮度
- 一个墙纸还可以改变使用裁剪工具改变图像
- 改变图像的对比度和亮度-----学习记录(4)
- openCV学习笔记 (六) : 改变图像的对比度和亮度
- Android改变图像的饱和度、亮度和对比度
- 视频屏幕左半部分上下滑动改变亮度,右半部分上下滑动改变声音
- OpenCV实践(3)- 改变图像的对比度和亮度
- OpenCV之改变图像的对比度和亮度
- opencv(c++)改变图像的对比度和亮度
- Android改变图像的饱和度、亮度和对比度