c++图像处理图像倒立显示 帧图像与opencv存储时起始点不一样
for(inta=0;a<out->height;a++){for(intb=0;b<out->width;b++){index=a*out->width+b;prtim...
for(int a=0;a<out->height;a++){
for(int b=0;b<out->width;b++){
index = a*out->width+b;
prtimage[3*index+0] = *(bdata++);
prtimage[3*index+1] = *(gdata++);
prtimage[3*index+2] = *(rdata++);
}
}
其中 *prtimage为unsigned char *prtimage;
out为IplImage* out
应该就是行读取的时候翻转一下? 展开
for(int b=0;b<out->width;b++){
index = a*out->width+b;
prtimage[3*index+0] = *(bdata++);
prtimage[3*index+1] = *(gdata++);
prtimage[3*index+2] = *(rdata++);
}
}
其中 *prtimage为unsigned char *prtimage;
out为IplImage* out
应该就是行读取的时候翻转一下? 展开
1个回答
展开全部
OpenCV中直接可以图像中的每个像素点上每个通道中的数据。
你为啥不用?
图像坐标的原点一般定义在图像的左上角。
你为啥不用?
图像坐标的原点一般定义在图像的左上角。
追问
我现在就是想把原点从左上角改为左下角。有这个需要。
IplImage* image = cvLoadImage(restore,-1);
IplImage* out = cvCreateImage(cvSize(image->width,image->height),image->depth,3);
但是我试了out->origin = image->origin;
还是倒的
追答
OpenCV中的图像结构有个很重要的成员origin,它指明了图像的原点位置,可以有两种取值: IPL_ORIGIN_TL和IPL_ORIGIN_BL。其中TL意思是:TopLeft,即左上;BL意思是:BottomLeft,即左下。其实这两个都是整型常, IPL_ORIGIN_TL就是0, IPL_ORIGIN_BL就是1。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询