matlab图像处理,ROI区域分割,以及直线提取 20C

针对一张图片,想提取图像中的道路标线。因为上半部分不需要,所以想用roi区域分割法,提取图像的下半部分,在此基础上,用直线提取,提取道路标线,并用起止点形式将直线图片说明表示出来。

3个回答

直线提取我做过,,你可以试试用霍夫变换提取直线,,当然霍夫变换前提需要进行边缘,
边缘提取首推canny算子,相对其他几个算子,这个算子对噪声更适应,效果更好

针对你这幅图,,唉,直线还是比较多的提取时候得在考虑考虑加点策略。

最后就是你说那个感兴趣区域,,针对这张图地面有什么特征,,唉,反光还比较严重,感兴趣区域不太好提。,,不过可以在提取直线的策略上试一下,
比如,站在路中间拍的时候,道路两边直线的斜率回落在某个特定区间,可以加个区间把别的直线排除,。

图片说明嘿嘿,我也是渣渣,说的不好多多指教。

qq_38839890
一只鱼z 不好意思,我想用的roi区域提取只是想将上一半去掉,留下下半部分,然后在此基础上提取出直线,反光什么的不用处理,希望能有matlab源程序
2 年多之前 回复

ROI 提取,你就自己选取下部分的区域, 至于直线提取的话,可以试试 LSD 算法, matlab代码到没有, 有的只是 matlab 调用 LSD的 dll的 混合编程代码
lsd.mexw64

图片说明

ROI的提取,自己按照条件进行截取

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Halcon实例教程之ROI区域分割
更多文章请关注微信公众号:机器视觉专业论坛 案例介绍 本文研究了采用Halcon分割与周围灰度值差别较小的ROI区域,该文中分析了四种增强ROI边界对比度的方法,对屏幕划痕分割等应用具有明显的借鉴意义。 分割图片如下图所示,分割出图像中的图案作为ROI区域。 案例分析 方案一 1.均值滤波 2.动态阈值分割 3.按面积选择区域 方案二 1.将图像进行傅里叶变换
提取ROI
 1.通过trackbar获取thresh最佳值 #include "head.h" // 1.边缘检测 + 轮廓发现或者直线检测最大外接矩形 // 2.二值分割 + 形态学方法 + hough直线找最大外接矩形 void findROI(int, void*); Mat src, grayimg, dst; const char* output = "final"; int maxva...
opencv的ROI的提取
c++程序设置: Mat image; Rect roi(x,y,w,h); Mat rio_of_image = image(roi);
opencv提取感兴趣区域ROI
创建一个rect 大小设置为(200,200),rect的左上角为(180,200) 代码如下: #include <iostream> #include "opencv2/opencv.hpp" using namespace std; using namespace cv; int main() { cv::Mat pImg = imread("Lean.jpg",1); // ...
感兴趣区域提取(ROI)matlab实现
图片的感兴趣区域的提取matlab实现 直接运行go函数即可运行 可视化操作
Opencv提取不规则ROI
这次第一次写博客,写的不太好,希望大家多多包涵,有错的地方也希望大家提出来~~ 写博客的主要目的是让自己做一个总结,以此来孔固自己所学的东西,希望自己能一直努力下去,继续坚持!!! 前两天在halcon中看到一个sobel的例子,是关于提取公路上的交通标线。首先它创建了一个网格,以这个网格为模板进行不规则的ROI提取,然后进行sobel边缘检测,再经过膨胀,再提取不规则ROI提取,最后
MATLAB提取感兴趣ROI
一 代码Image0=imread('MER-500-7UM(RQ0002001015)_2017-11-14_10_09_59_790-99.bmp'); %--感兴趣区域ROI c=[300,673,749,329,300]; r=[1817,1593,1677,1893,1817]; BW1=uint8(roipoly(Image0,c,r));%生成掩膜图像BW1,使得BW1格式与Ima...
ROI 区域提取
ROI 区域提取
Python+OpenCV感兴趣区域ROI提取
Python+OpenCV2感兴趣区域ROI提取方法一:使用轮廓步骤1"""src为原图""" ROI = np.zeros(src.shape, np.uint8) #感兴趣区域ROI proimage = src.copy() #复制原图 """提取轮廓""" proimage=cv2.cvtColor(proimage,cv2.COLOR_BGR2GRAY)
labview程序 ROI提取
labview程序 ROI提取 labview程序 ROI提取 labview程序 ROI提取 labview程序 ROI提取
matlab图像处理隐藏与提取
图像隐藏与提取module led3_7(A,B,C,A1,B1,C1,D1,E1,F1,G1 ); input A,B,C; output A1,B1,C1,D1,E1,F1,G1; reg A1,B1,C1,D1,E1,F1,G1; reg[2:0] reg1; reg[6:0] reg2; always@(A or B or C) begin reg1={A,B,C}; case(reg1) 3'b000:reg2=7'b1111110; 3'b001:reg2=7'b0110000; 3'b010:reg2=7'b1101101; 3'b011:reg2=7'b1111001; 3'b100:reg2=7'b0110011; 3'b101:reg2=7'b1011011; 3'b110:reg2=7'b1011111; 3'b111:reg2=7'b1110000; default:reg2=7'b1111111; endcase {A1,B1,C1,D1,E1,F1,G1}=reg2; end endmodule ispGDS14的GDS文件代码: device=ispgds14 PIN 6 = PIN 12 PIN 8 = PIN 16 PIN 9 = PIN 11
立方体识别检测与roi提取
如何检测到,一个上表面正中央有圆形洞的立方体?并提取出上表面作为roi。请大神提供一下思路。
《itk实用demo》-ROI提取
ROI提取 #include "itkImage.h" #include "itkImageFileReader.h" #include "itkRegionOfInterestImageFilter.h" #include "itkRGBPixel.h" #include <iostream> #includ
汽车车牌图像的区域分割与字符提取
在交通管理过程中,通常采用视频监控方式对闯红灯和超速等违章车辆进行监督。对违章车辆,需要自动检测车牌信息,提取车牌号码,以便查找车主信息和监督管理。通过完成本设计,进行图像预处理、车牌定位及字符分割等,掌握图像处理的原理和技术,使学生具有一定的图像分析和处理能力。
链码提取直线
研究生作论文时写的一个链码提取直线的Matlab代码,大家将就看一下吧。
hough变换直线提取
直线提取,设置感兴趣区域并对算法进行优化,更好的提取出车道线
HOUGH的边界直线提取
hough 直线提取 有注释 简单 可以画直线 是书上的例子 改改就可以用了
hough 直线提取
采用hough变换法提取直线的功能,并可以根据在一条直线上点的坐标,计算出直线参数,并画出直线
opencv形态学直线提取
#include<opencv2\opencv.hpp>#include<iostream>using namespace cv;using namespace std;int main(int agrc, char**agrv){ Mat src = imread("5.jpg"); if (src.empty()){ cout << "没有找到图片" &l...
hough变换提取直线
hough变换检测直线,怎么样得到所检测到的直线的斜率啊?下面是我的程序,请高手赐教!rnfloat HoughDIB(HGLOBAL hDIB)rnrn #define pi 3.1415926rn int Anglenumber;rn typedef struct rn int Value;rn int AngleNumber;rn int Dist;rn MaxValue;rn LONG lWidth,lHeight;rn CDib ODIB;rnrn LPSTR lpDIB;rnrn lpDIB = (LPSTR) ::GlobalLock((HGLOBAL)hDIB);rnrn LPSTR lpDIBBits;rnrn lpDIBBits =ODIB.GetBits(lpDIB); rnrn lWidth = ODIB.GetWidth(lpDIB); rnrn lHeight =ODIB.GetHeight(lpDIB); rnrn LPSTR lpSrc;rnrn LPSTR lpDst;rnrn LPSTR lpTrans;rnrn LONG lLineBytes;rnrn LPSTR lpNewDIBBits;rn HLOCAL hNewDIBBits;rn rn LPSTR lpTransArea;rn HLOCAL hTransArea;rnrn int iMaxDist;rn int iMaxAngleNumber;rnrn int iDist;rn int iAngleNumber;rnrn long i;rn long j;rnrn unsigned char pixel;rnrn MaxValue MaxValue1;rn MaxValue MaxValue2;rn // 暂时分配内存,以保存新图像rn hNewDIBBits = LocalAlloc(LHND, lWidth * lHeight);rn if (hNewDIBBits == NULL)rn rn // 分配内存失败rn return FALSE;rn rn // 锁定内存rn lpNewDIBBits = (char * )LocalLock(hNewDIBBits);rn // 初始化新分配的内存,设定初始值为255rn lpDst = (char *)lpNewDIBBits;rn memset(lpDst, (BYTE)255, lWidth * lHeight);rn //计算变换域的尺寸rn //最大距离rn iMaxDist = (int) sqrt(lWidth*lWidth + lHeight*lHeight);rn //角度从0-180,每格2度rn iMaxAngleNumber = 180;rn //为变换域分配内存rn hTransArea = LocalAlloc(LHND, lWidth * lHeight * sizeof(int));rn if (hNewDIBBits == NULL)rn rn // 分配内存失败rn return FALSE;rn rn // 锁定内存rn lpTransArea = (char * )LocalLock(hTransArea);rn // 初始化新分配的内存,设定初始值为0rn lpTrans = (char *)lpTransArea;rn memset(lpTrans, 0, lWidth * lHeight * sizeof(int));rn // 计算图像每行的字节数rn lLineBytes =ODIB.GetReqByteWidth(lWidth * 8);rn for(j = 0; j MaxValue1.Value)rn rn MaxValue1.Value = (int)*(lpTransArea+iDist*iMaxAngleNumber+iAngleNumber);rn MaxValue1.Dist = iDist;rn MaxValue1.AngleNumber = iAngleNumber;rn rnrn rn rn //将第一个最大值点附近清零rn for (iDist = -9;iDist < 10;iDist++)rn rn for(iAngleNumber=-1; iAngleNumber<2; iAngleNumber++)rn rn if(iDist+MaxValue1.Dist>=0 && iDist+MaxValue1.Dist=0 && iAngleNumber+MaxValue1.AngleNumber<=iMaxAngleNumber)rn rn *(lpTransArea+(iDist+MaxValue1.Dist)*iMaxAngleNumber+\rn (iAngleNumber+MaxValue1.AngleNumber))=0;rn rn rn rnrn Anglenumber=MaxValue1.AngleNumber;rnrn // 释放内存rn LocalUnlock(hNewDIBBits);rn LocalFree(hNewDIBBits);rnrn // 释放内存rn LocalUnlock(hTransArea);rn LocalFree(hTransArea);rn ::GlobalLock((HGLOBAL)hDIB);rn if(Anglenumber>0)rn rn // 返回rn //MessageBox("ok",0,0);rn return 180-Anglenumber;rn rn elsern rn return 180+abs(Anglenumber);rn rnrn
canny边缘检测+直线提取
使用的opencv里面的canny边缘检测+直线提取,效果还不错。
关于直线提取
关于hough算法的直线提取,能运行出来。可以提取直线。
霍夫算法提取直线
用c++结合opencv库,利用霍夫算法原理提取图像直线源代码
使用opencv实现直线提取
void mapCallback(const nav_msgs::OccupancyGrid&amp; msg) { ROS_INFO("I heard frame_id: [%s]", msg.header.frame_id.c_str()); resolution = msg.info.resolution; width = msg.info.width; he...
opencv 提取直线与验证码
一、原理图像形态学操作时候,可以通过自定义的结构元素实现结构元素对输入图像一些对象敏感、另外一些对象不敏感,这样就会让敏感的对象改变而不敏感的对象保留输出。我们可以通过使用两个最基本的形态学操作 – 膨胀与腐蚀,使用不同的结构元素实现对输入图像的操作、得到想要的结果。膨胀:输出的像素值是结构元素覆盖下输入图像的最大像素值。腐蚀:输出的像素值是结构元素覆盖下输入图像的最小像素值。二、结构元素上述膨胀...
Hough提取边缘直线
1.    提取图像的边缘 原理:采用Sobel算子对图像进行卷积运算. 其中Sobel算子为: 分别分为水平方向的边缘提取以及竖直方向上的边缘提取。提取这两个方向进一步通过下面这条公式进行计算该像素点的灰度值。   对于几个样例的图像,由于图像高清,像素区间比较大,边缘提取方法步骤如下: 1)           首先对图像进行灰度化处理,即Gray= (R + G + B)
Open CV 提取直线
Open CV 提取直线 要求 需求是这样的:我们要提取出下图填空题中的空行,以便统计空行数。 显然,这是我自己随手写的,但是直线还算比较直。我觉得这个应该也能做吧。 开始做 好,那就试试吧,首先我增加下亮度,整个图灰蒙蒙的看着难受。 通过如下代码操作: Mat src_output; src.convertTo(src_outpu...
Hough变换提取直线
1.首先我们来说明Hough变换的定义:     如下图,直角坐标系中有一条直线l,原点到该直线的垂直距离为ρ,垂线与x轴的夹角为θ,则这条直线是唯一的,且该直线在极坐标系中的方程为: ρ=xcosθ+ysinθ。
直线提取算法实现图像直线边缘提取
<p>n 系统学习和掌握matlab图像技术n</p>n<p>n <br /></p>
对直线Hough 变换,再提取直线
没有使用matlab2012里面的hough函数,hough函数和峰值提取函数均是自己编写,所以不论在matlab7还是2012都可以运行,不用在担心matlab没有自带的hough函数,可以放心下载,下载即可运行,图片路径也不用修改,我使用的是matlab自带的图片。
MATLAB图像处理MATLAB图像处理
MATLAB图像处理MATLAB图像处理MATLAB图像处MATLAB图像处理理
selective search(RCNN使用的ROI提取方法)
安装selective search $ pip install selectivesearch 读取并显示图片 import matplotlib.pyplot as plt import matplotlib.patches as mpatches import selectivesearch from skimage import io # img = io.imread('/ho
MATLAB图像处理之二值化以及灰度处理
首先先来明白几个概念: 1、彩色图像(RGB):图像的每个像素点都是由红(R)、绿(G)、蓝(B)三个分量来表示的,每一个分量一般分别介于0-255之间,当然如果每一个颜色分量用更多的位数去表示的话,那么分量的取值就会大于255。假设现在每个基色用一个字节表示,那么彩色图像的每一个像素就是用3*8=24位来表示,即一个像素可以呈现出2的24次方中颜色,大约是1600万种颜色。 2、灰度图像(gra...
OpenCV 中Mat图像提取ROI
at类表示的图像进行ROI操作有两种方法 1. 使用拷贝构造函数Mat(constMat&amp;amp; m, const Rect&amp;amp; roi ),矩形roi指定了兴趣区 Mat src = imread(“xx.jpg”); Mat srcROI( src, Rect(0,0,src.cols/2,src.rows/2)); 2. 使用操作符”()”,即Mat operator ()...
《itk实用demo》-2D提取ROI
2D提取ROI void clipMinSlice(ImageType::Pointer input,ImageType::Pointer *dst) { typedef itk::ImageFileWriter&amp;amp;lt; ImageType&amp;amp;gt; WriterType; WriterType::Pointer writer_heart = WriterType::New...
ROI TOOLS ROI工具
roi 工具roi 工具roi 工具roi 工具roi 工具roi 工具roi 工具roi 工具roi 工具roi 工具roi 工具
阈值分割与区域分割
本文主要包括以下内容 阈值分割技术 基于区域的图像分割技术 本章的典型案例 基于LoG和Canny算子的精确边缘检测 基于Hough变换的直线检测 图像的四叉树分解 阈值分割我们曾在3.5节学习过灰度阈值变换的相关知识, 利用灰度阈值变换分割图像就称为阈值分割, 它是一种基本的图像分割方法。 阙值分割的基本思想是确定一个阈值, 然后把每个像素点的灰度值和阈值相比较,根据比较的结果把该像素
opencv 区域分割
利用opencv实现的的 regiongrow 区域生长算法。。。。。。
openCV任意几何形状感兴趣区域(ROI)提取
图像感兴趣区域(ROI)提取主要使用掩模来进行。掩模是二值图像,感兴趣区域的掩模值设置为255,非感兴趣区域的掩模值为0 获取掩模的方法主要有两种 方法一 使用opencv中Mat函数方法,调用Mat(Rect).setTo方法设置掩模 Mat Mat::operator()( const Rect&amp;amp;amp;amp;amp; roi ) const //调用Mat(Rect).setTo方法 mask(rect).
水线区域分割
这是一种分割图像中相接处目标的形态学方法。(与水线阈值分割法不同)基本过程可理解为连续腐蚀二值图像。主要为三个步骤。(1)产生距离图距离图:图中各个像素的灰度与该像素到图像或目标边界成比例的图。考虑一幅二值图,迭代的腐蚀二值图,在每次腐蚀二值图后,在每次腐蚀后将所有剩下的像素值加一。当若再继续腐蚀,则除去所有像素时,停止腐蚀。综合前面每次的腐蚀结果,并对每个像素保留最大值。(2)计算最终腐蚀的集合...
相关热词 c# 去空格去转义符 c#用户登录窗体代码 c# 流 c# linux 可视化 c# mvc 返回图片 c# 像素空间 c# 日期 最后一天 c#字典序排序 c# 截屏取色 c#中的哪些属于托管机制