掩模操作

掩模操作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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java实现将图片读取成base64字符串,将base64字符串存储为图片。

    java实现将图片读取成base64字符串,将base64字符串存储为图片。全栈工程师开发手册(作者:栾鹏)java教程全解java实现将图片读取成base64字符串,将base64字符串存储为图片。将图片转化为字符串以后,由于字符串更方便在网络上通过ajax传输、在网络web前台和后台间进行传输。importsun.misc.BASE64Decoder;importsun.misc.BASE64Encoder;图片转化成base64字符串

    2025年8月2日
    3
  • apply方法 python_python min函数

    apply方法 python_python min函数Pythonapply函数的用法发布于2014-08-0721:02:24|674次阅读|评论:0|来源:网友投递Python编程语言Python是一种面向对象、解释型计算机程序设计语言,由GuidovanRossum于1989年底发明,第一个公开发行版发行于1991年。Python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够把用其他语言制作的各…

    2025年7月12日
    3
  • 什么是备胎算法?_备胎怎么解释

    什么是备胎算法?_备胎怎么解释什么是备胎算法?

    2022年4月22日
    54
  • mysql官方监控工具_mysql数据库监控

    mysql官方监控工具_mysql数据库监控spy.properties可以直接到http://my.oschina.net/zh119893/blog/272545复制.P6Spy监控JDBC详细配置说明http://blog.csdn.net/u010280007/article/details/88131401、解压出p6spy.jar和spy.properties两个文件2、将p6spy.jar放入应用程序的WEB-INF…

    2022年9月27日
    3
  • idea2021激活码破解方法

    idea2021激活码破解方法,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月14日
    68
  • 作用域链和原型链的区别_原型链和作用域链

    作用域链和原型链的区别_原型链和作用域链题外话:最近面试一直被问到作用域链的问题,所以还是要深入透彻的学习一下这两个概念。作用域链在红宝书中对作用域链的描述有这么一段话:当代码在一个环境中执行时,会创建变量对象的一个作用域链。作用域链的用途是保证对执行环境有权访问的所有变量和函数的有序访问。作用域链的前端始终是当前执行的代码所在环境的变量对象。如果这个环境是函数,则将其活动对象作为变量对象。活动对象在最开始时只包含一个变量,即argume

    2025年7月12日
    3

发表回复

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

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