美文网首页
filter2D(图像卷积操作)

filter2D(图像卷积操作)

作者: itfitness | 来源:发表于2019-08-05 11:40 被阅读0次

概念

有关于图像卷积的操作概念比较复杂,这里我们只展示锐化操作,有兴趣的朋友可以看一下这篇文章理解深度学习中的卷积

效果图对比

●源图像



●处理后图像


函数讲解

●函数原型
○c++

void filter2D( InputArray src, OutputArray dst, int ddepth,
                            InputArray kernel, Point anchor = Point(-1,-1),
                            double delta = 0, int borderType = BORDER_DEFAULT );

○Android

void filter2D(Mat src, Mat dst, int ddepth, Mat kernel, Point anchor, double delta, int borderType)

●参数解释
○src:源图像Mat对象
○dst:目标图像Mat对象
○ddepth:目标图像的深度,一般填-1即可,表示源图像与目标图像深度相同。
○kernel:卷积核,一个单通道浮点型矩阵。如果想在图像不同的通道使用不同的kernel,可以先使用split()函数将图像通道事先分开。
○anchor:内核的基准点,其默认值为(-1,-1)说明位于kernel的中心位置。基准点即kernel中与进行处理的像素点重合的点,不填即默认值。
○delta :在储存目标图像前可选的添加到像素的值,默认值为0,不填就是默认值。
○borderType :像素向外逼近的方法,默认值是BORDER_DEFAULT,即对全部边界进行计算,不填就是默认。

函数使用

●c++中

#include<opencv2/opencv.hpp>
using namespace cv;
int main() {
    Mat src = imread("C:/Users/Administrator/Desktop/sb.png");//引入源图像
    if (src.empty()) {
        return -1;
    }
    imshow("src", src);//展示源图像
    Mat dst;
    Mat kernal = (Mat_<char>(3, 3) << 0, -1, 0, -1, 5, -1, 0, -1, 0);//生成卷积核
    filter2D(src,dst,-1,kernal);
    imshow("dst", dst);//展示目标图像
    waitKey(0);
    return 0;
}

●Android中

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_beauty);//获取源图像Bitmap对象
Mat src = new Mat();
Mat dst = new Mat();
Utils.bitmapToMat(bitmap,src);//Bitmap转换为Mat对象
//==================生成卷积核======================
Mat kx = new Mat(3, 3, CvType.CV_32FC1);
float[] robert_x = new float[]{0, -1, 0, -1, 5, -1, 0, -1, 0};
kx.put(0, 0, robert_x);
//===================================================
Imgproc.filter2D(src,dst,-1,kx );//进行卷积操作
Utils.matToBitmap(dst,bitmap);//Mat转换为Bitmap对象
imageView.setImageBitmap(bitmap);

相关文章

  • 【图像处理】OpenCV系列十四 --- 图像金字塔

    上一篇我们学习了图像卷积处理filter2D函数,相信大家通过阅读已经对filter2D图像卷积有了一定的了解,那...

  • 【图像处理】OpenCV系列十三 --- filter2D()、

    一、filter2D()函数详解 1、函数原型 2、函数功能用kernel卷积核对src图像进行卷积,生成卷积之后...

  • filter2D(图像卷积操作)

    概念 有关于图像卷积的操作概念比较复杂,这里我们只展示锐化操作,有兴趣的朋友可以看一下这篇文章理解深度学习中的卷积...

  • opencv-自定义线性滤波

    bitmap和mat之间互转工具类 卷积filter2D 把kernel(卷积核)放到我们图像矩阵之上,求锚点周围...

  • 图像卷积的秘密

    参考博客首先,图像卷积核卷积操作时有区别的,图像卷积不改变图像的尺寸,但是类似深度学习里的卷积层是会改变图像的大小...

  • 图像的卷积

    1.卷积的定义图像卷积是对图像进行处理的最常用方法,如:去噪、滤波、边缘提取等。对图像做卷积操作其实就是利用卷积核...

  • Shader判断模型边界

    边缘检测的原理就是利用一些边缘检测算子对图像进行卷积操作。卷积操作就是使用一个卷积核对一张图像中的每个像素进行一系...

  • OpenCV+Python图像滤波(平滑)+ 金字塔思想

    图像处理中的滤波一般用于消除噪声,增强图像。 图像卷积(滤波) 数字图像是一个二维的离散信号,对数字图像做卷积操作...

  • 015-Opencv笔记-自定义线型滤波

    卷积 卷积是图像处理中一个操作,是kernel在图像的每个像素上的操作Kernel本质上一个固定大小的矩阵数组,其...

  • AI数学基础30-数字图像卷积3

    数字图像处理中的卷积,比如滤波,是有翻转操作的,根据数学定义,有了翻转操作,才是完整意义的卷积,才满足卷积运算符的...

网友评论

      本文标题:filter2D(图像卷积操作)

      本文链接:https://www.haomeiwen.com/subject/webpdctx.html