Hls平台实现sobel算法(一)

摘要:
Sobel算子主要用于边缘检测。边缘检测是通过根据像素的上、下、左和右相邻点的灰度加权差和阈值在边缘处达到极值的方法来实现的------------序列1。原则上运行流水线操作,并将输入图像从hls::AXIvideo2Mat hls::Sobel;、hls::SubS;、hls::比例;、hls::Erode;、hls:Dilate;、hls::Mat2AXIvideo;步骤:将图像转换为Mat格式,即三个8位像素数据。将转换为Mat格式的图像命名为img_0,线和场的高度是宏定义步骤:使用Sobel函数检测转换为Mat格式的图像的边缘分别表示横向检测、纵向检测和检测结果的大小,可以是3x3,5,7x7。

   索贝尔(Sobel)算子主要用于边缘检测,根据像素点的上下、左右邻点的灰度加权差与阈值进行比较,在边缘处达到极值的方法实现边缘检测。

                                                                                                                                                                                                                             -------------序

一、原理性运行

   流水线操作,将输入图像从

(1)、hls::AXIvideo2Mat(INPUT_STREAM, img_0);
(2)、hls::Sobel<1,0,3>(img_0, img_1);
(3)、hls::SubS(img_1, pix, img_2);

(4)、hls::Scale(img_2, img_3, 2, 0);
(5)、hls::Erode(img_3, img_4);
(6)、hls::Dilate(img_4, img_5);
(7)、hls::Mat2AXIvideo(img_5, OUTPUT_STREAM);

第(1)步:

  将图像转换为Mat格式,是3个8位的像素数据,将转换为mat格式的图像命名为img_0,行、场高度为宏定义

第(2)步:

  将转换为mat格式的图像使用Sobel函数进行边缘检测,<1,0,3>分别代表横向检测、纵向检测、检测结果的size,可以为3x3,5x5,7x7。

第(3)步:

   元素级的从数组中间去标量,就是img_1减去输入标量pix(10,10,10)

第(4)步:

    对sobel函数处理完毕的图像进行比例计算,2为乘法因子,0为加法因子,

第(5)步: 第(6)步:

 首先对图像进行膨胀处理,这样边缘更加明显,然后进行侵蚀,作用是滤除毛刺

第(7)步:

   将膨胀、侵蚀的结果转换为AXI形式,这样才能在硬件平台进行传输

二、平台验证

       

int main (int argc, char** argv)
{
    //获取图像数据
    IplImage* src = cvLoadImage(INPUT_IMAGE);
    IplImage* dst = cvCreateImage(cvGetSize(src), src->depth, src->nChannels);

    //使用HLS库进行处理
    AXI_STREAM  src_axi, dst_axi;
    IplImage2AXIvideo(src, src_axi);
    hls_sobel(src_axi, dst_axi, src->height, src->width);
    AXIvideo2IplImage(dst_axi, dst);
    cvSaveImage(OUTPUT_IMAGE,dst);
    cvShowImage("hls_dst", dst);

//释放内存 cvReleaseImage(&dst); }

其流程为:

      从头文件中获取输入图像,然后在内存空间中开辟出一块源图像大小的,每个像素占用为数为depth,源通道数目的存储空间。

      然后将图像转为AXIstream格式加载到处理函数中,最后将输出图像dst进行显示

免责声明:文章转载自《Hls平台实现sobel算法(一)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇VSCode常用命令快捷键存储-配置多路径下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

PC浏览器播放m3u8

 HLS(HTTP Live Streaming)是苹果公司针对iPhone、iPod、iTouch和iPad等移动设备而开发的基于HTTP协议的流媒体解决方案。在 HLS 技术中 Web 服务器向客户端提供接近实时的音视频流。但在使用的过程中是使用的标准的 HTTP 协议,所以这时,只要使用 HLS 的技术,就能在普通的 HTTP 的应用上直接提供点播和...

基于MATLAB的Sobel边缘检测算法实现

图像边缘就是图像灰度值突变的地方,也就是图像在该部分的像素值变化速度非常之快,就比如在坐标轴上一条曲线有刚开始的平滑突然来个大转弯,在变化出的导数非常大。 Sobel算子主要用作边缘检测,它是一离散型差分算子,用来计算图像亮度函数灰度之近似值。 边缘是指其周围像素灰度急剧变化的那些像素的集合。边缘存在于目标、背景和区域之间,所以,边缘是图像分割所依赖的最重...

推流和拉流的概念以及RTMP和HLS协议

https://www.bbsmax.com/A/x9J2wZM56o/ 推流为将直播内容推送至服务器的过程;拉流为服务器已有直播内容,用指定地址进行拉取的过程。 rtmp rtmp是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写。该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/RTMPS/RTM...

NVR硬件录像机web无插件播放方案功能实现之相关接口注意事项说明

该篇博文主要用来说明EasyNVR硬件录像回放版本的相关接口说明和调用的demo; 方便用户的二次开发和集成。 软件根目录会包含接口文档的,因此,本文主要是对一些特定接口的说明和接口实现功能的讲解以及部分demo的展示说明; 对应接口说明; 支持设备类型 由于获取NVR录像机的相关功能是通过SDK来实现功能的,因此,无法想EasyNVR配置摄像机一样,走...

图像边缘检测

一、实验目的:熟悉边缘检测的基本方法 二、实验内容:以chairgray.jpg图像为例,分别采用sobel、prewitt、roberts和 log对该图像及其加上噪声后的图像进行边缘检测。用到的matlab函数为edge,imnoise。 1 a=imread('D:/picture/ZiXia.jpg'); 2 a=rgb2gray(a); 3...

OpenCV4系列之图像梯度

在图像处理中,求解图像梯度是常用操作。 Sobel算子 Calculates the first, second, third, or mixed image derivatives using an extended Sobel operator. Sobel 算子是一种离散性差分算子,用来计算图像像素值的一阶、二阶、三阶或混合梯度。在图像的任何一点使...