前言
由于要在开发板上实现一些基础的图像处理算法,本想着直接使用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}