Python 画像処理
解決したいこと
Pythonで画像に2つの条件でマスク処理を行い、画像の発光の検出・発光の重心計算を行うプログラムを作成しています。
記事を投稿する機能の実装中にエラーが発生しました。
解決方法を教えて下さい。
発生している問題・エラー
該当するソースコード
Python
import cv2
import numpy as np
threshold=0
lower_S=np.array([0,0,20])
upper_S=np.array([180,83,255])
lower_V=np.array([0,0,94])
upper_V=np.array([180,255,255])
img= cv2.imread("026537.jpg" )
hsv色空間に変換
hsv = cv2.cvtColor(img,cv2.COLOR_BGR2HSV)
mask処理
img_mask1=cv2.inRange(hsv,lower_S,upper_S)
img_mask2=cv2.inRange(hsv,lower_V,upper_V)
img_mask=cv2.bitwise_or(img_mask1,img_mask2)
img_masked=cv2.bitwise_and(img,img,mask=img_mask)
輪郭抽出
image,contours,hierarchy = cv2.findContours(img_masked,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)
面積を計算
areas = np.array(list(map(cv2.contourArea,contours)))
if len(areas) == 0 :
# 見つからなかったらNoneを返す
print("the area is too small")
else:
# 面積が最大の塊の重心を計算し返す
max_idx = np.argmax(areas)
max_area = areas[max_idx]
result = cv2.moments(contours[max_idx])
x = int(result["m10"]/result["m00"])
y = int(result["m01"]/result["m00"])
print("x座標は",x,"です\",y座標は",y,"です")
```






