在opencv中读写图像
在OpenCV中,我想加载图像并获取像素值。输入图像像素被分配给另一个数组。该数组值被重建并显示输出图像。如果我对该输入像素进行一些操作,我想获得相应的像素输出。用于此的命令是什么?嗨,我将执行以下操作在opencv中读写图像,opencv,Opencv,在OpenCV中,我想加载图像并获取像素值。输入图像像素被分配给另一个数组。该数组值被重建并显示输出图像。如果我对该输入像素进行一些操作,我想获得相应的像素输出。用于此的命令是什么?嗨,我将执行以下操作 #包括“cv.h” #包括“highgui.h” #包括 IplImage*image=0,*image2=0; int main(int argc,字符**argv){ 字符*文件,*输出; //用法:filename.exe imagefile outputimage 如果(argc==3)
#包括“cv.h”
#包括“highgui.h”
#包括
IplImage*image=0,*image2=0;
int main(int argc,字符**argv){
字符*文件,*输出;
//用法:filename.exe imagefile outputimage
如果(argc==3){
file=argv[1];
outF=argv[2];
}否则{
出口(0);
}
//加载文件
如果((image=cvLoadImage(文件,1))==0)
返回-1;
//在灰度中创建图像
image2=cvCreateImage(cvSize(图像->宽度,图像->高度),IPL_深度_8U,1);
myFunction();
}
void myFunction(){
uchar*pix;//临时存储像素值
乌查尔*出局;
////现在你可以访问每个像素
for(int-posY=0;posYheight;posY++){
for(int-posX=0;posXwidth;posX++){
pix=&((uchar*)(image->imageData+posY*image->widthStep))[posX];//这是为了获得值
out=&((uchar*)(image2->imageData+posY*image2->widthStep))[posX];
//在这里做你的事情---例如
//要访问原始图像文件,请使用
//uchar c=*pix;
//这会影响你的输出图像和你的操作
*out=someValue[x][y];//(0-255)如果您从数组中分配任务,它应该可以工作
//----------------------
}
}
}
您还需要保存和查看一些其他资料imagecvSaveImage(outp,image2)cvNamedWindow(file,1)cvShowImage(file,image)
。更多关于