【opencv的学习】ROI区域的初步尝试
来源:互联网 发布:imovie有windows版本吗 编辑:程序博客网 时间:2024/06/05 14:09
用imageROI函数来增加某范围的像素
#include <cv.h>#include <highgui.h>int main(){IplImage* src;if ( ((src = cvLoadImage("Example1.jpg", 1)) != 0)){int x = 350;//atoi(argv[2]);int y = 350;//atoi(argv[3]);int width = 500;//atoi(argv[4]);int height = 500;// atoi(argv[5]);int add = 250;//atoi(argv[6]);cvSetImageROI(src, CvRect(x, y, width, height));//设置感兴趣区域(ROI)cvAddS(src, cvScalar(0,100,0,0), src);//cvScalar的储存顺序是B-G-R(3通道),K-Y-M-C(四通道) cvAddS函数为感兴趣区域附上颜色cvResetImageROI(src);//释放感兴趣区域(ROI)cvNamedWindow("ROI_add", CV_WINDOW_AUTOSIZE);cvShowImage("ROI_add", src);cvWaitKey(0);cvReleaseImage(&src);cvDestroyWindow("ROI_add");}}利用其他widthStep方法把interest_img的所有像素值增加1
像素值增加1的实际效果并不明显,所以我将增加值提高了
#include <cv.h>#include <highgui.h>int main()//利用其他widthStep方法把interest_img的所有像素值增加1{IplImage* interest_img = cvLoadImage("Example1.jpg");CvRect interest_rect(30,30,300,300);IplImage* sub_img = cvCreateImageHeader(CvSize(interest_rect.width, interest_rect.height), interest_img->depth, interest_img->nChannels);sub_img->origin = interest_img->origin;sub_img->widthStep = interest_img->widthStep;sub_img->imageData = interest_img->imageData + interest_rect.y*interest_img->widthStep + interest_rect.x*interest_img->nChannels;cvAddS(sub_img, CvScalar(255), sub_img);cvNamedWindow("ROI_add", CV_WINDOW_AUTOSIZE);cvShowImage("ROI_add", sub_img);cvWaitKey(0);cvReleaseImageHeader(&sub_img);cvDestroyWindow("ROI_add");}将src2中的ROI区域融合到src1中的ROI区域中
#include <cv.h>#include <highgui.h>int main(){IplImage *src1, *src2;if ((src1 = cvLoadImage("Example1.jpg", 1)) != 0 && (src2 = cvLoadImage("Example2.jpg", 1) )!= 0){int x = 300;//atoi(argv[3]);int y = 300;//atoi(argv[4]);int width = 300;//atoi(argv[5]);int height = 300;// atoi(argv[6]);double alpha = 1;//(double)atof(argv[7]);//对应原图像灰度,范围为[0,1]double beta = 0.5;//(double)atof(argv[8]);//对应附加图像灰度,范围为[0,1]cvSetImageROI(src1, CvRect(x, y, width, height));cvSetImageROI(src2, CvRect(300, 150, width, height));cvAddWeighted(src1, alpha, src2, beta, 0.0, src1);//cvAddWeighted将src2上的感兴趣区域融合到了src1的感兴趣区域上cvResetImageROI(src1);cvNamedWindow("Alpha_blend", 1);cvShowImage("Alpha_blend", src1);cvWaitKey();cvReleaseImage(&src1);cvDestroyWindow("Alpha_blend");}}
实际的效果根据图片的不同以及坐标等参数选择的不同都会不一样,希望可以自己尝试改变参数来达到最理想的效果。
0 0
- 【opencv的学习】ROI区域的初步尝试
- openCV学习笔记-ROI区域的操作
- 【Opencv学习(三)】获取Mat图像的ROI区域
- OpenCV中关于感兴趣的区域ROI
- OpenCV对感兴趣区域(ROI)的操作
- OpenCV对感兴趣区域(ROI)的操作
- OpenCV:设置图像的感兴趣区域(ROI)
- OpenCV中关于感兴趣的区域ROI
- opencv中的ROI(感兴趣区域)的设置
- opencv:感兴趣区域的操作:ROI
- 像素临近区域、颜色通道、ROI区域的访问---opencv.2学习笔记2
- OpenCV中取ROI区域RGB的均值,求方差,ROI区域颜色是否明显区分
- 基于opencv的感兴趣区域ROI的操作
- 基于MFC的OpenCV图像显示并标定ROI区域
- OpenCV笔记5:设置图像的感兴趣区域(ROI)
- opencv 从原始的图像中找出ROI区域
- opencv中替换图片ROI矩形区域的方法
- opencv中的ROI(矩形感兴趣区域)的设置
- 开启window的服务器
- android systemui解析
- cakephp 3.3时区设置
- Linux查找某些文件中是否含有特定字符串
- C# winform子窗体关闭后父窗体不前置的问题
- 【opencv的学习】ROI区域的初步尝试
- 矩阵取数游戏
- counter学习笔记
- Timus Online Judge:1820. Ural Steaks
- 计算机文件共享
- 搜索出来的字体添加颜色
- css去掉iPhone、iPad默认按钮样式
- 读入优化模板
- 安装原始设备制造商 USB 驱动程序