gpt4 book ai didi

c - 使用opencv在c++中修改图像

转载 作者:行者123 更新时间:2023-11-30 15:28:23 24 4
gpt4 key购买 nike

我想使用 opencv 修改 C++ 中的图像,这是我的代码

 #include <cv.h>
#include <highgui.h>
using namespace std;
int main(int* argc ,char* argv[]){
IplImage* image =cvLoadImage ("D://s1//1.pgm",0);
//cvShowImage( "Source",image);
int h=image->height;
int w=image->width;
CvScalar pix;
IplImage* img2 = cvCreateImage( cvSize(h,w), 8, 1 );
CvMat* mat1 = cvCreateMat(h,w,CV_32FC1);
CvMat* mat2 = cvCreateMat(h,w,CV_32FC1);
cvConvert(image,mat1);
for(int i=0;i<h;i++){
for(int j=0;j<w;j++){
if(i==j){
pix =1;
cvSet2D(mat2,i,j,pix.val[0]);}
else{
pix = cvGet2D( mat1,i,j);
cvSet2D(mat2,i,j,pix.val[0]); }
}
}
cvConvert(mat2,img2 );
cvShowImage( "image",img2);
cvWaitKey(0);
return 0;}

但它不起作用,我需要你的帮助和建议,请加入我们你的观点。

最佳答案

 #include <cv.h>
#include <highgui.h>
using namespace std;
int main(int argc ,char** argv[]){
CvScalar pix;
IplImage* img2 = cvCreateImage( cvSize(500,500), 32,3 );
for(int i=0;i<500;i++)
for(int j=0;j<500;j++){
pix = cvGet2D( img2,i,j);
pix.val[0]=rand()%150;
pix.val[1]=rand()%150;
pix.val[2]=rand()%150;
cvSet2D(img2,i,j,pix); }
cvShowImage( "image",img2);
cvWaitKey(0);
return 0;}

关于c - 使用opencv在c++中修改图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26598356/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com