久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

哪種方法是估計拍攝物體尺寸的最佳方法?

Which is the best way to estimate measure of photographed things?(哪種方法是估計拍攝物體尺寸的最佳方法?)
本文介紹了哪種方法是估計拍攝物體尺寸的最佳方法?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我的應用程序應該使用歐元硬幣作為參考來估計物體的長度(以毫米為單位).這是一個截圖示例:

為了得到所拍攝硬幣的直徑,我首先計算了一個圓通過表格中這 3 個點的方程

x^2 + y^2 + ax + by + c = 0

然后我得到直徑

2 * square_root((a/2)^2 + (b/2)^2 -c).

最后我可以執行以下比例得到紅筆的長度:

/* length_estimated_pen (mm) : distance_green_pins (points) = real_diameter_coin (mm) : diameter_on_screen (points) */讓 distanceGreen:Double = Double(sqrt(pow(self.greenLocationA.center.x - self.greenLocationB.center.x, 2.0) + pow(self.greenLocationA.center.y - self.greenLocationB.center.y, 2.0)))讓estimatedMeasure:Double = (distanceGreen * Double(ChosenMeter.moneyDiameter))/直徑

ChosenMeter.moneyDiameter 中存儲了所選硬幣的實際直徑作為參考(通過單擊下面的 3 個按鈕之一).

我需要使用 Double 而不是 CGFloat 因為

[注]

選擇此圖像是為了強調傾斜,但您應該使用與芯片表面幾乎平行的平面圖像以避免透視失真.這張圖片不是一個很好的例子,立方體離相機比硬幣更遠......

為此,請參閱不同投影的選擇標準

My app is supposed to estimate the length (in millimeters) of an object using euro coins as reference. This is a screenshot example:

To get the diameter of the photographed coin I first calculate the equation of a the circle passing through those 3 points of the form

x^2 + y^2 + ax + by + c = 0

and then I have the diameter by

2 * square_root((a/2)^2 + (b/2)^2 -c).

Finally I can perform the following proportion to get the length of the red pen:

/* length_estimated_pen (mm) : distance_green_pins (points) = real_diameter_coin (mm) : diameter_on_screen (points) */

let distanceGreen:Double = Double(sqrt(pow(self.greenLocationA.center.x - self.greenLocationB.center.x, 2.0) + pow(self.greenLocationA.center.y - self.greenLocationB.center.y, 2.0)))

let estimatedMeasure:Double = (distanceGreen * Double(ChosenMeter.moneyDiameter)) / diameter

where in ChosenMeter.moneyDiameter there is stored the real diameter of the chosen coin as reference (by clicking one of the 3 buttons below).

I need to work with Double instead of CGFloat because this tutorial to solve a system of linear equations (to get a,b,c coefficient of circle equation) works with Double.

The problem is the estimated length of the red pen is always overestimated of more than 10 mm. I guess I should apply a correction factor or complicate the calculus taking into consideration other factors, but which? Can you give me some hints? Any help would be useful to me.

解決方案

  1. find the coin (green bounding box rectangle)

    either manually or by some search for specific color,pattern,hough transform,segmentation... This will limit the area to search for next steps

  2. find the boundary (distinct red edge in color intensity)

    so create a list of points that are the coin boundary (be careful with shadows) just scan for high enough intensity bumps.

  3. compute the circle center

    just average of all border points...

  4. test all boundary points for min/max distance to center

    if the tilt is small then you will have many points with min and max radius so take the middle from them. If the |max-min| is very small then you got no tilt. Linebetween min/max distance point and center gives you black basis vectors.

  5. use black basis vectors to measure

    So select 2 points (red line d) to measure and cast green rays from them parallel to basis vectors. Their intersection will create 2 lines a,b. from that it is easy:

    • d = sqrt((a*a)+(b*b))

    where a,b is the size of the lines in units. you can obtain it like:

    • a_size_unit = a_size_pixel * coin_r_unit / rmax_pixel
    • b_size_unit = b_size_pixel * coin_r_unit / rmin_pixel

[note]

This image was selected to emphasize the skew but you should use images of planes almost paralel to chip surface to avoid perspective distortion. This image is not a good example the cube is more distant to camera then coin ...

To account for this see selection criteria for different projections

這篇關于哪種方法是估計拍攝物體尺寸的最佳方法?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

How to draw stars using Quartz Core?(如何使用 Quartz Core 繪制星星?)
Why does giving addArcWithCenter a startAngle of 0 degrees make it start at 90 degrees?(為什么給 addArcWithCenter 一個 0 度的 startAngle 使它從 90 度開始?)
Find the CGPoint on a UIView rectangle intersected by a straight line at a given angle from the center point(在與中心點成給定角度的直線相交的 UIView 矩形上找到 CGPoint)
Convert Character to Int in Swift 2.0(在 Swift 2.0 中將字符轉換為 Int)
How to convert an Int to a Character in Swift(如何在 Swift 中將 Int 轉換為字符)
In Swift 3, how to calculate the factorial when the result becomes too high?(在 Swift 3 中,當結果變得太高時如何計算階乘?)
主站蜘蛛池模板: 一区二区三区中文 | 久久久久久亚洲欧洲 | 黄网站涩免费蜜桃网站 | 免费黄色特级片 | 伊人免费在线观看 | 国产一区二区三区四区区 | 日韩中文字幕2019 | 夜夜骑首页 | 国产高潮好爽受不了了夜色 | 午夜国产 | 男女久久久 | 91精品久久久久久综合五月天 | 国产中文字幕网 | 午夜欧美日韩 | 日韩二三区| 欧美特级黄色 | 国产精品看片 | 亚洲国产精品一区二区久久 | 亚洲精品在线免费 | 欧美精品一区二区三区在线 | 亚洲美女一区二区三区 | 综合中文字幕 | 亚洲精品一区二区三区蜜桃久 | 91精品在线播放 | 国产一区二区中文字幕 | 日本欧美视频 | 中文字幕乱码一区二区三区 | 免费视频99| 仙人掌旅馆在线观看 | 精品国产一区二区国模嫣然 | 国产成人精品综合 | 中文字幕av网址 | 91av在线视频观看 | 99久久婷婷国产综合精品电影 | 国产色网站 | 欧美成人一级 | 精品欧美一区二区精品久久 | 亚洲精品99久久久久久 | 一区二区三区视频在线 | 欧美成人激情 | 蜜桃一区二区三区 |