最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
python物體標(biāo)識怎么實現(xiàn)

這篇文章主要為大家展示了“python物體標(biāo)識怎么實現(xiàn)”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“python物體標(biāo)識怎么實現(xiàn)”這篇文章吧。

文縣ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!

1、讀取彩色圖像進行灰度化和二值化。

def get_binary_img(img):
    # gray img to bin image
    bin_img = np.zeros(shape=(img.shape), dtype=np.uint8)
    h = img.shape[0]
    w = img.shape[1]
    for i in range(h):
        for j in range(w):
            bin_img[i][j] = 255 if img[i][j] < 255 else 0
    return bin_img
# 調(diào)用
file_name = "./test.bmp"
img = cv2.imread(file_name)
# 灰度化
gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 二值化
bin_img = get_binary_img(gray_img)

2、目標(biāo)標(biāo)志,每個物體的像素值是該物體的標(biāo)志,為計算面積打下基礎(chǔ)。

# 標(biāo)記目標(biāo)
def label_region(bin_img,width,height):
    visited = np.zeros(shape=bin_img.shape,dtype=np.uint8)
    label_img = np.zeros(shape=bin_img.shape, dtype=np.uint8)
    label = 0
    for i in range(height):
        for j in range(width):
            if bin_img[i][j] == 255 and visited[i][j]==0 : //找到種子點
                # visit
                visited[i][j] = 1
                label += 1
                label_img[i][j] = label
                # label
                label_from_seed(bin_img, visited, i, j, label, label_img)
    return label_img
# 區(qū)域增長法進行標(biāo)記
def label_from_seed(bin_img,visited,i,j,label,out_img):
    directs = [(-1, -1), (0, -1), (1, -1), (1, 0), (1, 1), (0, 1), (-1, 1), (-1, 0)]
    seeds = [(i,j)]
    height = bin_img.shape[0]
    width = bin_img.shape[1]
    while len(seeds):
        seed = seeds.pop(0)
        i = seed[0]
        j = seed[1]
        if visited[i][j] == 0:
            visited[i][j] = 1
            out_img[i][j] = label
 
        # 以(i,j)為起點進行標(biāo)記
        for direct in directs:
            cur_i = i + direct[0]
            cur_j = j + direct[1]
             # 非法
            if cur_i < 0 or cur_j < 0 or cur_i >= height or cur_j >= width:
                continue
             # 沒有訪問過
            if visited[cur_i][cur_j] == 0 and bin_img[cur_i][cur_j] == 255:
                visited[cur_i][cur_j] = 1
                out_img[cur_i][cur_j] = label
                seeds.append((cur_i,cur_j))

3、通過遍歷標(biāo)記的圖像,統(tǒng)計每個編號中出現(xiàn)的像素數(shù),可以得到不同區(qū)域的面積大小。

def get_region_area(label_img,label):
    count = { key: 0  for key in range(label + 1)}
    start_pt = {key:(0,0) for key in range(label + 1)}
    height = label_img.shape[0]
    width  = label_img.shape[1]
    for i in range(height):
        for j in range(width):
            key = label_img[i][j]
            count[key] += 1
            if count[key] == 1:
                start_pt[key] = (j,i)
    return count,start_pt

以上是“python物體標(biāo)識怎么實現(xiàn)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


分享文章:python物體標(biāo)識怎么實現(xiàn)
URL地址:http://fisionsoft.com.cn/article/gsgidc.html