Opencv获取并改变图像的像素值
2010-11-03 19:07
477 查看
#include <iostream>
using namespace std;
#include "cv.h"
#include "highgui.h"
#pragma comment(lib,"cxcore.lib")
#pragma comment(lib,"cv.lib")
#pragma comment(lib,"ml.lib")
#pragma comment(lib,"cvaux.lib")
#pragma comment(lib,"highgui.lib")
#pragma comment(lib,"cvcam.lib")
int main(int argc, char* argv[])
{
IplImage *img = cvLoadImage("101.jpg",1);
CvScalar s;
cvNamedWindow("Image",1);
cvShowImage("Image",img);
for(int i = 0;i < img->height;i++)
{
for(int j = 0;j < img->width;j++)
{
s = cvGet2D(img,i,j); // get the (i,j) pixel value
s.val[0]=255;
s.val[1]=34;
s.val[2]=123;
cvSet2D(img,i,j,s);//set the (i,j) pixel value
}
}
cvShowImage("Image",img);
cvWaitKey(0); //等待按键
cvDestroyWindow( "Image" );//销毁窗口
//cvReleaseImage( &img ); //释放图像
return 0;
}
上述的方法在效率方面不好,还有更快速的方法获取像素值:
using namespace std;
#include "cv.h"
#include "highgui.h"
#pragma comment(lib,"cxcore.lib")
#pragma comment(lib,"cv.lib")
#pragma comment(lib,"ml.lib")
#pragma comment(lib,"cvaux.lib")
#pragma comment(lib,"highgui.lib")
#pragma comment(lib,"cvcam.lib")
int main(int argc, char* argv[])
{
IplImage *img = cvLoadImage("101.jpg",1);
CvScalar s;
cvNamedWindow("Image",1);
cvShowImage("Image",img);
for(int i = 0;i < img->height;i++)
{
for(int j = 0;j < img->width;j++)
{
s = cvGet2D(img,i,j); // get the (i,j) pixel value
s.val[0]=255;
s.val[1]=34;
s.val[2]=123;
cvSet2D(img,i,j,s);//set the (i,j) pixel value
}
}
cvShowImage("Image",img);
cvWaitKey(0); //等待按键
cvDestroyWindow( "Image" );//销毁窗口
//cvReleaseImage( &img ); //释放图像
return 0;
}
上述的方法在效率方面不好,还有更快速的方法获取像素值:
IplImage img; for (i = 0;i < img->height;i++) { for (j = 0;j < img->width;j++) { sum += ((uchar *)(img->imageData + img->widthStep * i))[j];//获取像素值 num++; } }
相关文章推荐
- Opencv获取并改变图像的像素值
- OpenCV中获取图像某一像素值
- 使用OpenCV获取图像中某一点的像素值和修改某一点的像素值
- 利用opencv获取鼠标左键点击位置图像的像素值
- opencv 图像像素点的值获取与显示
- opencv利用鼠标获取图像的像素值
- Opencv获取图像上的像素值(win10系统)
- opencv获取图像的像素值
- OpenCV中获取图像某一像素值
- 使用OpenCV获取图像中某一点的像素值和修改某一点的像素值
- opencv中如何利用mat来获取连续内存的图像区域,并改变形状
- 学习OpenCV(四) 改变图像的对比度和亮度——像素变换
- 学习OpenCV(四) 改变图像的对比度和亮度——像素变换
- Opencv:Mat图像的复制,以及改变像素点的颜色
- OpenCV中获取图像某一像素值
- 【OpenCV】OpenCV中获取图像的像素点并处理
- OpenCV中获取图像某一像素值
- 用opencv读取图像的每个像素值,鼠标点击获取每一个点,并显示像素
- opencv利用鼠标获取图像的像素值
- OpenCV对图像获取像素值方法总结