纯手写边缘检测算法

本文介绍了作者如何在开发板上用C/C++编写自己的图像处理代码,以解决OpenCV移植后占用空间过大的问题,重点展示了边缘检测的过程,包括使用Sobel算子和stb_image库进行图像处理及结果输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

由于要在开发板上实现一些基础的图像处理算法,本想着直接使用opencv,怎奈何移植后占用空间太大,放弃了这个想法。于是乎自己手lu图像处理算法代码,顺便复习一下数字图像处理的相关知识。

思路

定义卷积核,使用卷积核进行卷积运算。存读图片使用了stbi这个库,是一个独立的头文件,直接拷贝到工程中就可以使用,非常方便。LVGL项目中使用这个库进行图片存取简直太棒了,省下了去复习png文件结构的时间。

代码

废话不多说,直接上边缘检测代码。

#define STB_IMAGE_IMPLEMENTATION
#define STB_IMAGE_WRITE_IMPLEMENTATION
#include "stb_image.h"
#include <stdio.h>
#include "stb_image_write.h"
#include <stdlib.h>

int sobelFilter(int *pixels, int width, int height, int x, int y) {
   
    int kernelX[3][3] = {
   
        {
   -1, 0, 1},
        {
   -2, 0, 2},
        {
   -1, 0, 1}
    };

    int kernelY[3][3] = {
   
        {
   -1, -2, -1},
        {
   0, 0, 0},
        {
   1, 2, 1}
    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值