最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

OpenCV實(shí)現(xiàn)單目攝像頭對(duì)圖像目標(biāo)測(cè)距

 更新時(shí)間:2022年08月01日 09:12:17   作者:奶茶不加冰  
這篇文章主要為大家詳細(xì)介紹了OpenCV實(shí)現(xiàn)單目攝像頭對(duì)圖像目標(biāo)測(cè)距,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

使用opencv對(duì)單目攝像頭中的目標(biāo)實(shí)現(xiàn)測(cè)量距離(python實(shí)現(xiàn)),供大家參考,具體內(nèi)容如下

1.方法介紹:

根據(jù)相似三角形的方法:

F = P×D / W , 其中W為物體的實(shí)際寬度,D為物體平面與相機(jī)平面的距離,照片上物體的像素寬度為P,相機(jī)焦距為F
D = F×W / P ,這樣知道相機(jī)的內(nèi)參焦距就可以求得物體平面與相機(jī)平面的距離D

2.代碼:

import cv2
import imutils
import numpy as np
from imutils import paths


# 獲取目標(biāo)的輪廓信息
def find_marker(image):

? ? gray = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) ?# 顏色空間轉(zhuǎn)換函數(shù),RGB和BGR顏色空間轉(zhuǎn)換 opencv默認(rèn)的顏色空間是BGR
? ? gray = cv2.GaussianBlur(gray, (5, 5), 0) ?# 高斯濾波,對(duì)圖像進(jìn)行濾波操作 ,(5,5)表示高斯核的大小 ,0 表示標(biāo)準(zhǔn)差取0
? ? edged = cv2.Canny(gray, 35, 125) ?# canny 算子 邊緣檢測(cè) 35是閾值1, 125是閾值2,大的閾值用于檢測(cè)圖像中的明顯邊緣,小的閾值用于將不明顯的邊緣檢測(cè)連接起來(lái)

? ? cnts = cv2.findContours(edged.copy(), cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE) ?# 找到詳細(xì)的輪廓點(diǎn), RETR_LIST 以列表的形式輸出輪廓信息
? ? # CHAIN_APPROX_SIMPLE: 壓縮水平方向,垂直方向,對(duì)角線方向的元素,只保留該方向的終點(diǎn)坐標(biāo)

? ? cnts = imutils.grab_contours(cnts) ?# 尋找圖像的輪廓信息,輸入圖像為一個(gè)二值圖像

? ? c = max(cnts, key=cv2.contourArea) ?# 輪廓點(diǎn)的面積計(jì)算
? ? # return edged
? ? return cv2.minAreaRect(c) ?# 求出在 C點(diǎn)集下的像素點(diǎn)的面積


def get_F(W, D):

? ? P = find_marker(image)[1][0] / 118.11 ?# 300dim ?1cm = 118.11像素值

? ? return (P*D) / W ?# F = get_F(2, 126) ?# 輸出的值為cm f=24.003cm 焦距


def distance_to_camera(F, P, W):

? ? return (F*W) / P ?# F 為相機(jī)的焦距,w為物體的寬度,P為物體在照片中的像素寬度,需要轉(zhuǎn)換為cm


W = 2 ?# 需要手動(dòng)測(cè)量目標(biāo)的寬度,單位為cm
F = 24.00304 ?# 根據(jù)get_F求出 ,get_F()函數(shù)是為了求得相機(jī)的焦距,需要通過(guò)測(cè)試圖像中的目標(biāo)距離來(lái)求出

image = cv2.imread('065_5.jpg')
marker = find_marker(image)
P = marker[1][0] / 118.11 ?# 300dim 1cm = 118.11像素值 ,300dim指300分辨率,有1080分辨率,像素值的㎝轉(zhuǎn)換是不同
inches = distance_to_camera(F, P, W) #
print('距離為:%.2f cm' % inches) ?# 單位為cm

# draw a bounding box around the image and display it
box = cv2.cv.BoxPoints(marker) if imutils.is_cv2() else cv2.boxPoints(marker)
box = np.int0(box)
cv2.drawContours(image, [box], -1, (0, 255, 0), 2)
cv2.putText(image, "%.2fft" % inches,
? ? ? ? ? ? (image.shape[1] - 200, image.shape[0] - 20), cv2.FONT_HERSHEY_SIMPLEX,
? ? ? ? ? ? 2.0, (0, 255, 0), 3)
cv2.imshow("image", image)

cv2.waitKey(0)
cv2.destroyAllWindows()

3.效果驗(yàn)證

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python生成隨機(jī)數(shù)組的方法小結(jié)

    Python生成隨機(jī)數(shù)組的方法小結(jié)

    這篇文章主要介紹了Python生成隨機(jī)數(shù)組的方法,結(jié)合實(shí)例形式總結(jié)分析了Python使用random模塊生成隨機(jī)數(shù)與數(shù)組操作相關(guān)技巧,需要的朋友可以參考下
    2017-04-04
  • python讀寫(xiě)修改Excel之xlrd&xlwt&xlutils

    python讀寫(xiě)修改Excel之xlrd&xlwt&xlutils

    這篇文章主要介紹了python讀寫(xiě)修改Excel之xlrd&xlwt&xlutils,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • pythotn條件分支與循環(huán)詳解(3)

    pythotn條件分支與循環(huán)詳解(3)

    這篇文章主要介紹了Python條件分支和循環(huán)用法,結(jié)合實(shí)例形式較為詳細(xì)的分析了Python邏輯運(yùn)算操作符,條件分支語(yǔ)句,循環(huán)語(yǔ)句等功能與基本用法,需要的朋友可以參考下
    2021-08-08
  • 用python進(jìn)行視頻剪輯

    用python進(jìn)行視頻剪輯

    這篇文章主要介紹了如何用python進(jìn)行視頻剪輯,幫助大家更好的利用python處理視頻,感興趣的朋友可以了解下
    2020-11-11
  • python deque模塊簡(jiǎn)單使用代碼實(shí)例

    python deque模塊簡(jiǎn)單使用代碼實(shí)例

    這篇文章主要介紹了python deque模塊簡(jiǎn)單使用代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • 淺談Python對(duì)內(nèi)存的使用(深淺拷貝)

    淺談Python對(duì)內(nèi)存的使用(深淺拷貝)

    這篇文章主要介紹了淺談Python對(duì)內(nèi)存的使用(深淺拷貝),具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • Python圖像處理之圖像金字塔的向上和向下取樣

    Python圖像處理之圖像金字塔的向上和向下取樣

    圖像金字塔是指由一組圖像且不同分別率的子圖集合,它是圖像多尺度表達(dá)的一種,以多分辨率來(lái)解釋圖像的結(jié)構(gòu),主要用于圖像的分割或壓縮。本文主要介紹了圖像金字塔的圖像向下取樣和向上取樣,感興趣的可以了解一下
    2022-09-09
  • pandas篩選某列出現(xiàn)編碼錯(cuò)誤的解決方法

    pandas篩選某列出現(xiàn)編碼錯(cuò)誤的解決方法

    今天小編就為大家分享一篇pandas篩選某列出現(xiàn)編碼錯(cuò)誤的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • python 美化輸出信息的實(shí)例

    python 美化輸出信息的實(shí)例

    今天小編就為大家分享一篇python 美化輸出信息的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • Python中用max()方法求最大值的介紹

    Python中用max()方法求最大值的介紹

    這篇文章主要介紹了Python中用max()方法求最大值的介紹,是Python入門(mén)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-05-05

最新評(píng)論

苏尼特右旗| 米泉市| 大连市| 大渡口区| 读书| 临高县| 仁化县| 云和县| 衡南县| 巫山县| 原阳县| 双流县| 怀集县| 蓬莱市| 通山县| 邮箱| 三门峡市| 光山县| 根河市| 庆安县| 宜城市| 旅游| 鹤岗市| 泰兴市| 专栏| 克什克腾旗| 科技| 南汇区| 明溪县| 石河子市| 九江市| 彭山县| 鹤庆县| 阳春市| 荔波县| 石城县| 黔江区| 贺兰县| 长治市| 栾川县| 中宁县|