Opencv获取并改变图像的像素值
2014-11-06 20:03
337 查看
#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;
}
上述的方法在效率方面不好,还有更快速的方法获取像素值:
[cpp] view
plaincopy
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++;
}
}
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;
}
上述的方法在效率方面不好,还有更快速的方法获取像素值:
[cpp] view
plaincopy
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中如何利用mat来获取连续内存的图像区域,并改变形状
- OpenCV中获取图像某一像素值
- opencv 图像像素点的值获取与显示
- OpenCV中获取图像某一像素值
- opencv获取图像像素值的两种方法
- Opencv获取图像上的像素值(Ubuntu版)
- 利用opencv获取鼠标左键点击位置图像的像素值
- 用opencv读取图像的每个像素值,鼠标点击获取每一个点,并显示像素
- 【OpenCV】OpenCV中获取图像的像素点并处理
- opencv获取图像的像素值
- 学习OpenCV(四) 改变图像的对比度和亮度——像素变换
- 我的OpenCV学习笔记(三):利用操作像素完成简单的图像处理:加入椒盐噪声、图像翻转、改变对比度、图像锐化
- OpenCV对图像获取像素值方法总结
- opencv利用鼠标获取图像的像素值
- opencv中获取和编辑图像像素值
- Opencv获取图像上的像素值(win10系统)
- Opencv:Mat图像的复制,以及改变像素点的颜色
- OpenCV中获取图像某一像素值
- 使用OpenCV获取图像中某一点的像素值和修改某一点的像素值