图像处理
使用C语言以及opencv实现图像算法;
经典图像算法介绍与理解;
xiaoyang0307
专注于图像处理,深度学习方向。
从事嵌入式图像处理开发工作
展开
-
C语言实现最小二乘法
void leastSquareLinearFit( imginfo *img,uchar *res,int *x ,int *y,int n){int height=img->height;int width=img->width;printf("height=%d ,width=%d \r\n",height,width);int i,j;memset(res,0,sizeof(uchar)*1000*1000);int l=0,m=0;double a=0,b=0;for.原创 2022-01-19 16:41:09 · 4535 阅读 · 0 评论 -
C语言实现harris角点检测
纯C语言实现harris角点检测,代码忽略高斯滤波部分int sobel_kernel_x[9]={-1,0,1,-2,0,2,-1,0,1};int sobel_kernel_y[9]={1,2,1,0,0,0,-1,-2,-1};extern uchar sobel_res_x[1000*1000];extern uchar sobel_res_y[1000*1000];uchar xx[1000*1000];uchar yy[1000*1000];uchar xy[1000原创 2022-01-19 10:25:33 · 3799 阅读 · 2 评论 -
C语言实现双线性插值
typedef struct imginfo{ int width; int height; unsigned char* img;} imginfo;void interpolation( imginfo *img,unsigned char *res,int res_width,int res_height){ int i,j; unsigned char arr[img->height*img->width]; memcpy(ar.原创 2022-01-13 11:20:29 · 4498 阅读 · 0 评论 -
C语言实现图像旋转
typedef struct imginfo{ int width; int height; unsigned char* img;} imginfo;int imrotate(const imginfo img,unsigned char *res,int Angle){ int i,j,k; unsigned char arr[img.height*img.width]; memcpy(arr,img.img,sizeof(arr)); .原创 2022-01-13 11:19:15 · 5552 阅读 · 0 评论 -
C语言实现图像移动
理论部分不做阐述,直接看代码typedef struct imginfo{ int width; int height; unsigned char* img;} imginfo;int imshift(const imginfo img,unsigned char *res,int x_offset,int y_offset){ int i,j; unsigned char arr[img.height*img.width]; memcpy(a原创 2022-01-13 11:17:53 · 2101 阅读 · 1 评论 -
DarkNet源码解析——Makefile
本文在解析DarkNet的同时通过注释的方式对其中用到的Makefile相关语法进行讲解。GPU=0 #定义GPUCUDNN=0#定义是否使用CUDNN加速,cuDNN是用于深度神经网络的GPU加速库OPENCV=1#是否使用OPENCV库,OPENMP=1#用于共享内存并行系统的多处理器程序设计的一套编译处理反感DEBUG=1#是否能用于调试,即是否gcc -gARCH= -gencode arch=compute_30,code=sm_30 \ -gencode arch=原创 2021-08-19 17:39:47 · 709 阅读 · 1 评论 -
C语言中二维数组使用指针的问题
C语言 二维数组使用指针获取值的问题在嵌入式图像处理的中,很多情况下,更适合用指针获取数组的值,而不是通过数组下标获取。使用指针获取数组值仅需要一次for循环,而利用下标获取二维数组的值时不得不使用两次for循环。获取二维数组的值与获取一维数组值的方法有所不同,若不注意可能导致程序出错,详见代码:#include <stdio.h>int main(){//初始化一维数组int a[6]={1,2,3,4,5,6};//初始化二维数组int b[3][2]={{原创 2021-02-24 14:11:05 · 499 阅读 · 0 评论 -
C语言实现膨胀,腐蚀,中值滤波以及均值滤波
C语言实现膨胀,腐蚀,中值滤波以及均值滤波笔者从事嵌入式图像处理工作,因此不得不使用C语言实现大量图像算法。膨胀,腐蚀,中值滤波使用C语言实现的基本原理基本相同,唯一需要注意的是需要开辟与原图相同的临时空间。具体代码如下:1.膨胀//src原图大小为Wid*Heivoid DilateFilter(unsigned char* src, int Wid, int Hei){ int i, j, k, l, m; int max=0; l=0; for (i = 0; i原创 2021-02-23 17:11:38 · 1935 阅读 · 0 评论