一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java+opencv3.2.0實現hough直線檢測

Java+opencv3.2.0實現hough直線檢測

2021-04-04 14:15帥氣的貓爪 Java教程

這篇文章主要為大家詳細介紹了Java+opencv3.2.0之hough直線檢測,具有一定的參考價值,感興趣的小伙伴們可以參考一下

hough變換是圖像處理中的一種特征提取技術,該過程在一個參數空間中通過計算累計結果的局部最大值得到一個符合特定形狀的集合作為hough變換結果。

發展史:

1962年由paulhough首次提出,用來檢測直線和曲線。
1972年由richard duda & peter hart推廣使用,擴展到任意形狀物體的識別。

原理:

一條直線在直角坐標系下的表示形式為y=k*x+b,而在極坐標系下表示為r=x*cos(theta)+y*sin(theta)。hough變換的思想為在直角坐標系下的一個點對應極坐標系下的一條直線,同樣,極坐標系下的一個點對應直角坐標系下的一條直線。在直角坐標系中的直線,斜率和截距是一定的,這樣這條直線上的所有點在極坐標系中聚焦于一點,這樣的聚焦點就代表了直角坐標系中的直線。
對于直線x=c,在實際應用中,是采用參數方程p=x*cos(theta)+y*sin(theta)。這樣,圖像平面上的一個點就對應到參數r—theta平面上的一條曲線上,其它的還是一樣。

標準hough變換:

imgproc.houghlines(mat image, mat lines, double rho, double theta, int threshold, double srn, double stn, double min_theta, double max_theta)

參數說明:

image:源圖像
lines:hough變換后儲存檢測到的線條的輸出矢量
rho:以像素為單位的距離精度
theta:以弧度為單位的角度精度
threshold:識別某部分為一條直線時必須達到的值
srn:rho參數的除數距離,有默認值0
stn:theta參數的除數距離,默認值0
min_theta:檢測到的直線的最小角度
max_theta:檢測到的直線的最大角度

示例代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
public static void main(string[] args)
 {
 system.loadlibrary(core.native_library_name);
 
 mat srcimage = imgcodecs.imread("f:\\6597210504144579394.jpg");
 mat dstimage = srcimage.clone();
 imgproc.canny(srcimage, dstimage, 400, 500, 5, false);
 mat storage = new mat();
 imgproc.houghlines(dstimage, storage, 1, math.pi / 180, 200, 0, 0, 0, 10);
 for (int x = 0; x < storage.rows(); x++)
 {
  double[] vec = storage.get(x, 0);
 
  double rho = vec[0];
  double theta = vec[1];
 
  point pt1 = new point();
  point pt2 = new point();
 
  double a = math.cos(theta);
  double b = math.sin(theta);
 
  double x0 = a * rho;
  double y0 = b * rho;
 
  pt1.x = math.round(x0 + 1000 * (-b));
  pt1.y = math.round(y0 + 1000 * (a));
  pt2.x = math.round(x0 - 1000 * (-b));
  pt2.y = math.round(y0 - 1000 * (a));
 
  if (theta >= 0)
  {
  imgproc.line(srcimage, pt1, pt2, new scalar(255, 255, 255, 255), 1, imgproc.line_4, 0);
  }
  }
  imgcodecs.imwrite("f:\\dst2.jpg", srcimage);
  }

累計概率hough變換:

imgproc.houghlinesp(mat image, mat lines, double rho, double theta, int threshold, double minlinelength, double maxlinegap)

參數說明:

image:源圖像
lines:hough變換后儲存檢測到的線條的輸出矢量
rho:以像素為單位的距離精度
theta:以弧度為單位的角度精度
threshold:識別某部分為一條直線時必須達到的值
minlinelength:最低線段的長度,默認為0
maxlinegap:允許將同一行點與點之間連接起來的最大的距離,默認為0

示例代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public static void main(string[] args)
 {
 system.loadlibrary(core.native_library_name);
 mat srcimage = imgcodecs.imread("f:\\6597210504144579394.jpg");
 mat dstimage = srcimage.clone();
 imgproc.canny(srcimage, dstimage, 400, 500, 5, false);
 mat storage = new mat();
 imgproc.houghlinesp(dstimage, storage, 1, math.pi / 180, 50, 0, 0);
 for (int x = 0; x < storage.rows(); x++)
 {
  double[] vec = storage.get(x, 0);
  double x1 = vec[0], y1 = vec[1], x2 = vec[2], y2 = vec[3];
  point start = new point(x1, y1);
  point end = new point(x2, y2);
  imgproc.line(srcimage, start, end, new scalar(255, 255, 255, 255), 1, imgproc.line_4, 0);
 }
 imgcodecs.imwrite("f:\\dst2.jpg", srcimage);
 }

源圖片:

Java+opencv3.2.0實現hough直線檢測

標準hough變換結果:

Java+opencv3.2.0實現hough直線檢測

累計概率hough變換結果:

Java+opencv3.2.0實現hough直線檢測

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://blog.csdn.net/m1109048058/article/details/77334309

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 蜜桃成熟时1997在线看免费看 | 国产成人精品日本亚洲网站 | 国产老妇 | 久久黄视频 | 白丝捆绑调教 | lubuntu网页版在线 | 91人人 | bnb998八度免费影院丫意浓 | 国产精品资源在线观看网站 | 日本欧美强乱视频在线 | 2012中文字幕中字视频 | 免费高清视频在线观看 | 亚洲品质水蜜桃 | 国产99页| 黑人巨荃大战乌克兰美女 | 欧美综合亚洲图片综合区 | bl放荡受np双性 | 欧美在线视频一区 | 国产成人综合亚洲亚洲欧美 | 99热在线只有精品 | 国产精品国产三级在线专区 | 91私密保健女子养生spa | 17岁韩国在线观看免费1 | 日本精品中文字幕在线播放 | 双子母性本能在线 | 黄动漫车车好快的车车双女主 | 国产麻豆精品入口在线观看 | 日韩一区二区三区四区五区 | 成人国产网站v片免费观看 成人国产精品视频 | 波多野结在线观看 | 亚洲精品成人a | 法国女佣系列在线播放 | 91麻豆精品国产片在线观看 | 国产自产一区c | 91传媒制片厂果冻有限公司 | 日韩精品一区二区三区免费视频 | 免费看成人毛片日本久久 | 特级www | 国产午夜一区二区在线观看 | 国产一及毛片 | 美女裆部 |