您的位置:首页 > 其它

用widthStep的方法来增加某范围的像素----与imageROI对比

2015-10-11 21:23 489 查看
//用widthStep的方法来增加某范围的像素
//作者:sandy
//时间:2015-10-5
#include <cv.h>
#include <highgui.h>
int main(int argc, char** argv){
//载入图片
IplImage* interest_img;
interest_img=cvLoadImage("E:\\picture\\d.jpg",1);
//定义一个矩形作为感兴趣区域
CvRect rect=cvRect(100,150,250,250);
//创建IplImage图像头,制定图像的尺寸,深度和通道数
IplImage *sub_img= cvCreateImageHeader(
cvSize(rect.width,rect.height ),//图像的尺度=矩形尺度
interest_img->depth ,
interest_img->nChannels
);

sub_img->origin =interest_img->origin ;//定义图像坐标原点的位置
sub_img->widthStep =interest_img->widthStep;
//imageData指针指向兴趣子区域
sub_img->imageData =interest_img->imageData +
rect.y *interest_img->widthStep +
rect.x *interest_img->nChannels ;

//蓝色通道增加100
cvAddS(sub_img,cvScalar(100),sub_img);//【存放单通道图像中像素:cvScalar(255)】把第一个sub_img的元素与cvScalar(100)相加放到第二个sub_img里。
//显示
cvNamedWindow("roi_add",1);
cvShowImage("roi_add",sub_img);
//释放
cvReleaseImageHeader(&sub_img);
cvWaitKey();

return 0;
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: