第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

列表理解 opencv bgr 到十六進制裝箱的調色板。

列表理解 opencv bgr 到十六進制裝箱的調色板。

拉丁的傳說 2022-09-06 16:52:34
下面的代碼采用 opencv 圖像,將其轉換為 rgb,然后使用列表理解逐步完成將它們轉換為十六進制的像素,并計算每種顏色的像素數。如何使用列表理解來減少此代碼,并解決底部的TypeError?import cv2bgr_img = cv2.imread(img_input)rgb_img = cv2.cvtColor(bgr_img, cv2.COLOR_BGR2RGB) # Hex starts with Red該文件的形狀 (300, 700, 3) 是 [[[ 90, 150, 140 ], [90 150 140], [90 150 140] ....palette = dict()for i in img:    for j in i:        colour_hex = [f"#{a:02x}{b:02x}{c:02}" for a,b,c in j]        if colour_hex in palette:            palette[colour_hex] +=1        else:            palette[colour_hex] = 1因此,字典包含十六進制顏色的值鍵對,以及圖像中每個像素中有多少是十六進制顏色。錯誤消息如下:TypeError: 無法解包不可迭代的 numpy.uint8 object由于下面的響應,工作原理的較短代碼是這樣的:-import cv2bgr_img = cv2.imread(img_input)rgb_img = cv2.cvtColor(bgr_img, cv2.COLOR_BGR2RGB) # Hex starts with Redpalette = dict()for i in img:    for j in i:        colour_hex = f"#{:02x}{:02x}{:02x}".format(*j)        if colour_hex in palette:            palette[colour_hex] +=1        else:            palette[colour_hex] = 1這可以縮短一點嗎?/ 更多的Pythonic使用列表理解?
查看完整描述

1 回答

?
阿波羅的戰(zhàn)車

TA貢獻1862條經驗 獲得超6個贊

您正在運行一個循環(huán)來創(chuàng)建一個列表,但您真的只想要 for :jcolour_hexcolour_hexj


替換此:


colour_hex = [f"#{a:02x}{b:02x}{c:02}" for a,b,c in j]

有了這個:


colour_hex = "#{:02x}{:02x}{:02}".format(*j)

如果你不需要其他任何東西,并期望許多不同的顏色,我更喜歡這個更短,也許更Pythonic的解決方案:bgr_img


from cv2

from collections import defaultdict


rgb_img = cv2.cvtColor(cv2.imread(img_input), cv2.COLOR_BGR2RGB)

palette = defaultdict(int)

for i in rgb_img:

    for j in i:

        palette["#{:02x}{:02x}{:02x}".format(*j)] += 1

另一方面,如果您不需要rgb_img,您也可以直接使用bgr_img,防止調用:cvtColor


from cv2

from collections import defaultdict


bgr_img = cv2.imread(img_input)

palette = defaultdict(int)

for i in bgr_img :

    for j in i:

        palette["#{2:02x}{1:02x}{0:02x}".format(*j)] += 1


查看完整回答
反對 回復 2022-09-06
  • 1 回答
  • 0 關注
  • 157 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號