掩模操作

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


相关推荐

  • Arping协议以及使用方法「建议收藏」

    Arping协议以及使用方法「建议收藏」什么是Arping协议?ARP协议是“AddressResolutionProtocol”(地址解析协议)的缩写,在同一以太网中,通过地址解析协议,源主机可以通过目的主机的IP地址获得目的主机的MAC地址。arping,用来向局域网内的其他主机发送ARP请求指令,可以用来测试局域网内的某个IP是否已经被使用。实验环境:通过Kali测试windows7的MAC地址。获取Windows7IP地址通过Kali来经行测试:这里已经测得对应的MAC地址通用命令查看某个IP的MAC地址sudo

    2022年6月10日
    46
  • 超好玩的vbs代码 (恶作剧代码)

    超好玩的vbs代码 (恶作剧代码)VBScript是VisualBasicScript的简称微软公司可视化BASIC脚本版),即VisualBasic脚本语言,有时也被缩写为VBS。它是一种微软环境下的轻量级的解释型语言,它使用COM组件、WMI、WSH、ADSI访问系统中的元素,对系统进行管理。同时它又是asp动态网页默认的编程语言,配合asp内建对象和ADO对象,用户很快就能掌握访问数据库的as…

    2022年6月14日
    50
  • pytest parametrize fixture_pytest参数化可变参数

    pytest parametrize fixture_pytest参数化可变参数前言当某个接口中的一个字段,里面规定的范围为1-5,你5个数字都要单独写一条测试用例,就太麻烦了,这个时候可以使用pytest.mark.parametrize装饰器可以实现测试用例参数化。官方示

    2022年7月31日
    9
  • python3.3使用tkinter实现猜数字游戏代码

    python3.3使用tkinter实现猜数字游戏代码发布时间:2014-06-18编辑:www.jbxue.com原文地址:http://www.jbxue.com/article/python/22152.htmlpython3.3使用tkint

    2022年7月6日
    19
  • 错误813宽带连接解决办法_网站500服务器内部错误

    错误813宽带连接解决办法_网站500服务器内部错误相关链接:服务器IIS安全设置如何完全地重新安装IISIIS无法解析asp文件的原因分析及解决办法HTTP500内部错误解决办法IISFAQ整理一.错误表现IIS5的HTTP500内部服务器错误是我们经常碰到的错误之一,它的主要错误表现就是ASP程序不能浏览但HTM静态网页不受影响。另外当错误发生时,系统事件日志

    2022年8月11日
    6
  • 阶乘的累加和

    阶乘的累加和

    2021年9月27日
    75

发表回复

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

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