昔つっくったものは,確か,マウスで操作するものでした。今回の物も,マウスで操作できるようにしま
した。
paython では,
サブルーチンの作成
変数のフォーカス
が,慣れ親しんだ C とは,若干違うようで手間取りました。何とか,下記の動画のように操作できるも
ができました。
import cv2
import os
# ファイル名を配列に格納
file_names = ['00.jpg', '01.jpg', '02.jpg','03.jpg','04.jpg','05.jpg','06.jpg','07.jpg','08.jpg','09.jpg','10.jpg',\
'11.jpg','12.jpg','13.jpg','14.jpg','15.jpg','16.jpg','17.jpg','18.jpg','19.jpg','20.jpg','21.jpg',\
'22.jpg','23.jpg','24.jpg','25.jpg','26.jpg','27.jpg','28.jpg','29.jpg','30.jpg','31.jpg','32.jpg',\
'33.jpg','34.jpg','35.jpg','36.jpg','37.jpg','38.jpg','39.jpg','40.jpg','41.jpg','42.jpg','43.jpg',\
'44.jpg','45.jpg','46.jpg','47.jpg','48.jpg','49.jpg','50.jpg','51.jpg','52.jpg','53.jpg','54.jpg',\
'55.jpg','56.jpg','57.jpg','58.jpg','59.jpg','60.jpg','61.jpg','62.jpg','63.jpg','64.jpg']
#グローバル変数の定期
img=file_names[0]
kaisu=0
# ベースパスを設定
base_path = 'E:/python-kaihatu/nanikana/mask-jp'
#背景画像を読み込み
ima1 = cv2.imread('E:/python-kaihatu/nanikana/gazou/buta1.jpg')
def gazou_over():
global kaisu
# フルパスを作成
full_path = os.path.join(base_path, file_names[kaisu])
# マスクファイルを開く
mask = cv2.imread(full_path)
if mask is not None:
#画像の合成
result = cv2.bitwise_and(mask,ima1)
return result
def mouseEvents(event, x, y, flags, param):
global kaisu
try:
# 処理を記入
if event == cv2.EVENT_LBUTTONDOWN:
img=""
if kaisu<64:
print("左クリック")
kaisu=kaisu+1
img=gazou_over()
cv2.imshow("test_image", img)
if event == cv2.EVENT_RBUTTONDOWN:
img=""
if kaisu>0:
print("右クリック")
kaisu=kaisu-1
img=gazou_over()
cv2.imshow("test_image", img)
except Exception as e:
print(e)
result=gazou_over()
cv2.imshow("test_image", result)
cv2.setMouseCallback("test_image", mouseEvents)
cv2.waitKey(0)