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)
上一篇 2022年5月26日 下午10:20
下一篇 2022年5月26日 下午10:20


相关推荐

  • Cacls和ICacls

    Cacls和ICacls解释 Cacls 显示或修改文件的访问控制列表 ACL ICACLS 显示或修改自由访问控制表 Dacl 上指定的文件 并指定目录中的文件应用于存储的 Dacl 总结 显示或修改文件访问控制权限相关术语 一个 DACL Discretionar 其指出了允许和拒绝某用户或用户组的存取控制列表 当一个进程需要

    2026年3月20日
    2
  • android之存储篇_ContentProvider存储

    ContentProvider是安卓平台中,在不同应用程序之间实现数据共享的一种机制。一个应用程序如果需要让别的程序可以操作自己的数据,即可采用这种机制。并且此种方式忽略了底层的数据存储实现,ContentProvider提供了一种统一的通过Uri实现数据操作的方式。其步骤为:  1. 在当前应用程序中定义一个ContentProvider。  2. 在当前应用程序的AndroidMani

    2022年3月10日
    54
  • 即梦怎么没有生成音乐功能

    即梦怎么没有生成音乐功能

    2026年3月12日
    3
  • C的TimeSpan介绍

    C的TimeSpan介绍TimeSpan 结构 表示一个时间间隔 nbsp 它含有以下四个构造函数 TimeSpan Int64 将 nbsp TimeSpan 结构的新实例初始化为指定的刻度数 DateTime Tick 是计算机的一个计时周期 单位是一百纳秒 即一千万分之一秒 TimeSpan Int32 Int32 Int32 将 nbsp TimeSpan 结构的新实例初始化为指定的小时数 分钟数和秒数 TimeSp

    2026年3月18日
    2
  • 批处理for命令的用法_cmd批处理命令

    批处理for命令的用法_cmd批处理命令摘自WindowsXP的帮助文档。For对一组文件中的每个文件运行指定的命令。语法for{%variable|%%variable}in(set)docommand[CommandLineOptions]参数{%variable|%%variable}必需。代表可替换的参数。使用%variable通过命令提示符执行for命令。使用%%variable在批处理文件中执行for命令。变量要区分大小写,并且必须用Alpha值表示,例如,%A、%B或%C。.

    2022年10月12日
    5
  • OpenClaw Skill 零代码自制教程(2026实测):10分钟上手专属AI技能

    OpenClaw Skill 零代码自制教程(2026实测):10分钟上手专属AI技能

    2026年3月14日
    3

发表回复

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

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