OpenCV-利用其它widthStep方法把interest——img的所有像素值增加200

OpenCV-利用其它widthStep方法把interest——img的所有像素值增加2001:代码如下:#include”stdafx.h”#include”highgui.h”#include”cv.h”#include”iostream”usingnamespacestd;intmain(){IplImage*interest_img=cvLoadImage(“C:\\horse.jpg”);cvNamedWindow(“inte

大家好,又见面了,我是你们的朋友全栈君。

1:代码如下:

#include "stdafx.h"
#include "highgui.h"
#include "cv.h"
#include "iostream"
using namespace std;
int main()
{
    IplImage* interest_img=cvLoadImage("C:\\horse.jpg");
    cvNamedWindow("interest_img");
    cvShowImage("interest_img",interest_img);
    CvRect interest_rect=cvRect(100,40,100,120);//决定处理后显示图像的大小和位置
    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;
    //个人理解:imageData是显示图像的的头,即左上角的点,下面的指令,使imageData向下移动了y行,向右移动了x*通道列。
    //所以,显示的图像整体移动了。
    sub_img->imageData=interest_img->imageData+
                       interest_rect.y*interest_img->widthStep+
                       interest_rect.x*interest_img->nChannels;
    cvAddS(sub_img,cvScalar(200),sub_img);
    cvNamedWindow("sub_img");
    cvShowImage("sub_img",sub_img);
    cvWaitKey(0);
    cvReleaseImage(&interest_img);
    cvDestroyWindow("interest_img");
    cvReleaseImage(&sub_img);
    cvDestroyWindow("sub_img");
    cvReleaseImageHeader(&sub_img);
    return 0;
}

运行结果:

OpenCV-利用其它widthStep方法把interest——img的所有像素值增加200

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/140946.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • matlab将两幅图进行融合_matlab拟合三维曲面

    matlab将两幅图进行融合_matlab拟合三维曲面matlab图像融合        [r,c]=size(y1);            %根据低频融合算法进行图像融合fori=1:r            %首先取两幅源图像相应的小波分解系数绝对值最大者的值作为融合图像的分解系数    forj=1:c        if(abs(y1(i,j))>=abs(y2(i,j)))            y3(

    2025年6月17日
    0
  • angularjs输入验证[通俗易懂]

    angularjs输入验证[通俗易懂]转载自:http://www.tuicool.com/articles/2Qbiqi(译)AngularJS中使用的表单验证-ZackYang时间 2013-11-1514:22:00  博客园-原创精华区原文  http://www.cnblogs.com/woshinidezhu/p/Form-validation-with-AngularJS.html主题 

    2022年7月25日
    10
  • 什么是ESLint?「建议收藏」

    什么是ESLint?「建议收藏」在我们学习ESLint之前,我们先来了解一下什么是ESLint?什么是ESLint?官网上告诉我们,ESLint是一个用来识别ECMAScript/JavaScript并且按照规则给出报告的代码检测工具,哦,所以我们可以知道,ESLint就是一个工具,而且是一个用来检查代码的工具。代码检查是一种静态的分析,常用于寻找有问题的模式或者代码,并且不依赖于具体的编码风格。对大多数编程语言…

    2022年6月18日
    34
  • Intellij Idea 创建JavaWeb项目入门(一)

    Idea创建JavaWeb项目步骤:1、打开IntellijIdeaIDE,然后点击CreateNewProject2、左侧选择JavaEnterprise,右侧选择WebApplication3、这里输入项目名字为firstdemo,然后点击Finish完成。生成如下的项目结构:项目配置:1、在web/WEB-INF下创建两个文件夹classes和…

    2022年4月5日
    230
  • document.documentElement.scrollHeight or clientHeight?

    document.documentElement.scrollHeight or clientHeight?在我们要获取文档实际高度时,最好用document.documentElement.scrollHeight。在我们要获取视口实际高度时,用document.documentElement.clientHeight。

    2022年7月24日
    6
  • 激光slam综述_SLAM算法

    激光slam综述_SLAM算法目录1.3D激光SLAM简介2.3D激光雷达SLAM3.高精度V-LOAM方案4发展趋势1.3D激光SLAM简介在3D激光SLAM领域中,由ZhangJ等人提出的LOAM方案,利用3D激光雷达采集数据,进行基于特征点的扫描匹配,利用非线性优化方法进行运动估计,激光里程计的输出与地图进行匹配,包括直线匹配和平面匹配,无回环检测模块,点面特征还不够可靠。2.3D激光雷达SLAM3.高精度V-LO..

    2022年8月23日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号