掩模操作

掩模操作include opencv2 opencv hpp include iostream usingnamespa usingnamespa intmain intargc charargv Matsrc imread D meinv jpg cvNamedWin iostream opencv2

#include<opencv2/opencv.hpp> #include<iostream> using namespace std; using namespace cv; int main(int argc, char argv) { Mat src = imread("D:/meinv.jpg"); cvNamedWindow("src_image", CV_WINDOW_AUTOSIZE); imshow("src_image", src); //方法一:传统方法 int channel = src.channels(); //获取图像的通道数 cout << "通道的个数为:" << channel << endl; int row = src.rows; cout << "图像的行数为:" << row << endl; int col = src.cols; cout << "图像的列数为:" << col << endl; Mat outMat = Mat(src.size(), src.type()); for (int i = 1; i < row - 1; i++) { for (int j = channel; j < (col - 1)*channel; j++) { outMat.ptr<uchar>(i)[j] = saturate_cast<uchar>(5 * src.ptr<uchar>(i)[j] - (src.ptr<uchar>(i - 1)[j] + src.ptr<uchar>(i + 1)[j] + src.ptr<uchar>(i)[j - channel] + src.ptr<uchar>(i)[j + channel])); } } cvNamedWindow("掩模之后的图像", CV_WINDOW_AUTOSIZE); imshow("掩模之后的图像", outMat); //方法二:调用API  Mat kernel = (Mat_<char>(3, 3) << 0, -1, 0, -1, 5, -1, 0, -1, 0); filter2D(src, outMat, src.depth(), kernel); imshow("filter2D变化之后的图像", outMat); waitKey(0); return 0; }

显示结果:

(1)源图像

掩模操作

(2)掩模后的图像

掩模操作

转载于:https://www.cnblogs.com/carlber/p/9609740.html

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

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

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


相关推荐

  • 软件测试人员应该如何介绍自己测试过的项目工作_软件测试项目介绍

    软件测试人员应该如何介绍自己测试过的项目工作_软件测试项目介绍测试人员在找工作的过程中,通常有一个问题是很难绕开的。就是要如何向别人介绍自己之前做过的项目。下面我们就这个问题简单的做一些分析。要解决这个问题,大体上可以分为如下几个步骤:1、对项目进行基本介绍2、说明自己负责测试的模块3、针对部分模块展开进行说明一.对项目进行基本介绍以下就以一个简单的项目进行介绍说明:最近测试的Tpshop项目是一个B/S架构的Web项…

    2022年10月20日
    2
  • java二维数组随机赋值_java 二维数组随机赋值

    java二维数组随机赋值_java 二维数组随机赋值java二维数组随机赋值[2021-01-3100:08:55]简介:目的:使用二维数组打印一个10行杨辉三角。(视频教程推荐:java课程)思路:1.第一行有1个元素,第n行有n个元素;2.每一行的第一个元素和最后一个元素都是1;3.从第三行开始php修改二维数组中值的方法:1、通过【for($i=0;$i<count(Array());++…

    2022年6月4日
    65
  • 用pycharm安装python包_pycharm安装模块

    用pycharm安装python包_pycharm安装模块简介在做python开发时,需要很多依赖包,如果已经安装pip,安装依赖包,可以通过命令行;没有安装的,也可以通过PyCharm安装。具体安装步骤1、在File->Setting,如图:2、点击Project:untilted->ProjectInterpreter,如图:3、点击“+”,如图:4、在弹出的“AvailablePackages”的搜索框输入要安装的依赖包,如图:5、点击左下角的“InstallPackage”,如图:6、等待一会,出现如下界面,依赖

    2022年8月29日
    4
  • SVN目录对号图标(更新、冲突)不显示

    SVN目录对号图标(更新、冲突)不显示

    2022年1月9日
    68
  • 全球NB-IoT发展面临六大挑战

    全球NB-IoT发展面临六大挑战

    2022年3月4日
    39
  • 3、基础数据类型和用户交互

    1,基础数据类型。1、int( 整数类型): 在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647 在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807数值运算: + – * / ** %2、long(长整型…

    2021年11月30日
    44

发表回复

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

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