OpenCV制作自己的线性滤镜
滤波过程:
将内核锚放置在确定的像素的顶部,其余核心覆盖图像中的相应局部像素。
将内核系数乘以相应的图像像素值并对结果求和。
将结果放置在输入图像中锚点的位置。
通过在整个图像上扫描内核来重复所有像素的过程。
API函数
1、建立自己的内核kernel_size = 3 + 2*( ind%5 );kernel = Mat::ones( kernel_size, kernel_size, CV_32F )/ (float)(kernel_size*kernel_size);2、filter2D(src, dst, ddepth , kernel, anchor, delta, BORDER_DEFAULT );
参数表示:src:源图像dst:目的地图像ddepth:深度dst。负值(如−1)表示深度与源相同。内核:要通过图像扫描的内核anchor:锚点相对于其内核的位置。位置点(-1,-1)表示默认的中心。delta:在关联期间要添加到每个像素的值。默认情况下为0BORDER_DEFAULT:我们默认设置此值(以下教程中有更多详细信息)
代码
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <iostream>using namespace cv;int main(int argc, char* argv[])
{Mat src = imread("12.bmp", 1);namedWindow("原图像", WINDOW_FREERATIO);namedWindow("自创均值滤波图", WINDOW_FREERATIO);namedWindow("API均值滤波图", WINDOW_FREERATIO);if (src.empty()){std::cout << "打开图片失败,请检查" << std::endl;return -1;}imshow("原图像", src);Mat dst,dst1;dst = src.clone();dst1 = src.clone();//实现均值滤波//Mat kernel =(Mat_<float>(3,3)<<1,1,1,1,1,1,1,1,1)/9;Mat kernel = Mat::ones(Size(7, 7), CV_32F)/49;filter2D(src,dst,-1, kernel,Point(-1,-1),0,4);blur(src, dst1, Size(7, 7), Point(-1, -1), 4);imshow("自创均值滤波图", dst);imshow("API均值滤波图", dst1);waitKey(0);return 0;
}
OpenCV制作自己的线性滤镜相关推荐
- OpenCV制作自己的线性滤波器
OpenCV制作自己的线性滤波器 制作自己的线性滤波器 目标 理论 相关性 什么是内核? 与内核的关联如何工作? 这个程序做什么? 代码 解释 载入图片 初始化参数 环形loop 结果 制作自己的线性 ...
- 基于OpenCV制作道路车辆计数应用程序
基于OpenCV制作道路车辆计数应用程序 发展前景 随着科学技术的进步和工业的发展,城市中交通量激增,原始的交通方式已不能满足要求:同时,由于工业发展为城市交通提供的各种交通工具越来越多,从而加速了城 ...
- 使用Python,OpenCV制作图像Mask——截取ROIs及构建透明的叠加层
使用Python,OpenCV制作图像Mask--截取ROIs及构建透明的叠加层 1. 效果图 2. 源码 参考 这篇博客将介绍如何使用OpenCV制作Mask图像掩码.使用位运算和图像掩码允许我们只 ...
- 使用Python,OpenCV制作不同风格的素描图(正常,漫画,写实风格)
使用Python,OpenCV制作不同风格的素描图(正常,漫画,写实风格) 这篇博客将介绍如何使用Python,OpenCV制作不同风格的素描图(正常风格,漫画风格,写实风格). 1. 效果图 原始图 ...
- 使用Python,OpenCV制作全透明的logo水印,对图像添加水印
使用Python,OpenCV制作全透明的logo水印,对图像添加水印 1. 效果图 2. OpenCV自己制作一个logo(完全不透明的) 3. 制作水印图源码 4. 添加水印源码 5. 思考: 参 ...
- WPF编程,通过KeyFrame 类型制作控件线性动画的一种方法。
WPF编程,通过KeyFrame 类型制作控件线性动画的一种方法. 原文: WPF编程,通过KeyFrame 类型制作控件线性动画的一种方法. 版权声明:我不生产代码,我只是代码的搬运工. https ...
- 用PIL制作手绘风格滤镜
用PIL制作手绘风格滤镜 话不多说,直接上代码! from PIL import Image import numpy as npdef ArtDraw(path0,path1):try:a = np ...
- 独家|OpenCV1.11 使用OpenCV制作一个低成本立体摄像机
作者:Kaustubh Sadekar 翻译:顾伟嵩 校对:张玲本文约3000字,建议阅读6分钟 本文我们将学习如何创建一个定制的低成本立体摄像机. 标签:3D计算机视觉,摄像机标定,经典计算机视觉, ...
- 使用 Opencv 创建类似 Instagram 的滤镜!
什么是图像滤镜? 图像滤镜是一种方法或过程,通过它可以修改图像的颜色.阴影.色调.饱和度.纹理和其他特征.滤镜用于根据商业.艺术或审美需要在视觉上修改图像. 如今,图像滤镜在社交媒体中非常普遍.Ins ...
最新文章
- Android开发傲娇之作
- leetcode算法题--Letter Case Permutation
- @所有人,20 万大奖待领取!【全民找“BUG”】活动,等你!
- H5移动端开发学习总结
- CPU方案简介UIS8190 - LTE CAT.1模块
- 音频开发中常见的四个错误
- Java并发执行器的懒惰开发人员简介
- 【干货分享】流程DEMO-事务呈批表
- python循环遍历把表写入csv_求教python3.5如何把字典循环写入csv?
- python简明教程_01
- xcode ios 模拟器安装运行
- Echarts 柱状图配置圆角
- JAVA 9中module初探
- 微信小程序体验版分享的坑
- 板邓:php+mayql分页原理及案例
- Excel DATEDIF函数
- android模拟器安装
- mysql nlssort_nlssort排序
- 阿里云elasticsearch试用套路
- 九连环的递归实现,以及数列通项
热门文章
- [JAVAEE] Thymeleaf 基本语法: form相关标签
- Git 修改用户名和邮箱
- Android ViewAnimationUtils (动画) 的使用
- Java设计模式:观察者模式
- No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
- 025_Excel知识汇总
- 软件架构自学笔记——非功能特性
- 关于如何在pc端使用github
- ruby生成C++头文件引用关系图
- usaco Score Inflation