OpenCV(二十):图像卷积

1.图像卷积原理

图像卷积是一种在图像上应用卷积核的操作。卷积核是一个小的窗口矩阵,它通过在图像上滑动并与图像的像素进行逐元素相乘,然后求和来计算新图像中每个像素的值。通过滑动卷积核并在图像上进行逐像素运算,可以实现一系列图像处理任务,例如平滑、边缘检测和特征提取等。

卷积操作的原理如下:

  1. 定义一个卷积核(或滤波器),它是一个小的窗口矩阵。卷积核的大小通常是奇数,以便有一个中心点。

  2. 将卷积核放置在图像的初始位置上(通常是图像的左上角)。

  3. 将卷积核的每个元素与图像上重叠区域的对应像素进行逐元素相乘。

  4. 将所有乘积结果相加得到新图像中对应像素位置的值。

  5. 将卷积核在图像上滑动一个像素,并重复步骤3和4,直到覆盖整个图像。

  6. 重复以上步骤,将卷积核应用于图像的每个像素位置,生成最终的卷积结果图像。

2.图像卷积函数filter2D()

void filter2D( InputArray src, OutputArray dst, int ddepth,

InputArray kernel, Point anchor = Point(-1,-1),

double delta = 0, int borderType = BORDER_DEFAULT );

参数解释:

  • src:原始图像,可以是单通道(灰度图像)或者是三通道彩色图像。

  • ddepth:输出图像的深度,通常设置为-1以保持与原始图像相同的深度。

  • kernel:应用于图像的卷积核,是一个NumPy数组。

  • dst(可选):输出图像,与原始图像具有相同的大小和深度。如果未提供,则函数会自动创建一个新的图像。

  • anchor(可选):指定卷积核的锚点位置,如果未提供,则默认为(-1, -1),表示锚点位于卷积核的中心。

  • delta(可选):可选的增量参数,用于对输出图像进行偏移。

  • borderType(可选):图像边界的处理方式,可以是cv2.BORDER_CONSTANT、cv2.BORDER_REPLICATE等。

3.示例代码:

复制代码
//图像卷积
void Image_convolution(Mat image){
// 定义卷积核
    cv::Mat kernel = (cv::Mat_<float>(3, 3) <<
                                            0, -1, 0,
                                            -1, 5, -1,
                                              0, -1, 0);

    // 进行卷积操作
    cv::Mat convolvedImage;
    cv::filter2D(image, convolvedImage, -1, kernel);

    // 显示原始图像和卷积结果
    imwrite("/sdcard/DCIM/image.png",image);//原图像
    imwrite("/sdcard/DCIM/convolvedImage.png",convolvedImage);//卷积结果
}
相关推荐
做萤石二次开发的哈哈几秒前
基于萤石蓝海 AIoT 的饲料原料监管溯源视频管理平台建设方案:面向多年存档与按工单调阅的监管要求
人工智能·物联网·萤石开放平台·蓝海aiot一站式工作台·aiot开发
why-geo1 分钟前
AI时代,AI入口流量会全面颠覆搜索引擎流量吗?
大数据·人工智能
小白学大数据5 分钟前
Python 小工具实战:用问财接口搭建金融数据采集器
开发语言·人工智能·python
爱学堂IT课程大全7 分钟前
尚硅谷-AI大模型之深度学习,AI大模型就业班线下2026版
人工智能
j7~7 分钟前
【Linux网络加餐】(篇七)网络版计算器(中):协议落地、报文分隔与完整链路
linux·c++·网络编程·tcp·报文分割·网络计算器·协议落地
意图共鸣8 分钟前
思想开源:意图共鸣科技把一整套“AI认知体系”带进了AtomGit
人工智能·科技
wshzd9 分钟前
LLM之Agent(七十三)|PI(十二)对话循环与消息状态机
人工智能
IT_陈寒10 分钟前
Redis并发写入踩坑记录:别让超时设置坑了你
前端·人工智能·后端
俊哥V13 分钟前
AI一周事件 · 2026-09-09 至 2026-09-15
人工智能·ai
这就是佬们吗15 分钟前
Function Calling 还是 MCP?先分清它们根本不是同一层的东西
人工智能·prompt·ai编程