You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
1.1 KiB
34 lines
1.1 KiB
# 実験課題4
|
|
# 3.4 ROIの利用
|
|
|
|
import cv2
|
|
|
|
# 画像の読み込み(任意の画像を用意してください)
|
|
image_path = 'sample.jpg'
|
|
img = cv2.imread(image_path)
|
|
|
|
if img is None:
|
|
print("画像を読み込めませんでした。ファイルパスを確認してください。")
|
|
else:
|
|
# 画像の高さ、幅を取得
|
|
height, width = img.shape[:2]
|
|
|
|
# --- ROI(関心領域)の指定 ---
|
|
# 切り出す領域の開始位置と終了位置を計算(例として、画像の中心部分を切り出し)
|
|
start_y = height // 4
|
|
end_y = height * 3 // 4
|
|
start_x = width // 4
|
|
end_x = width * 3 // 4
|
|
|
|
# --- 画像の切り出し ---
|
|
# NumPy配列のスライス機能を使用して、指定した範囲を切り出す
|
|
# 指定順序は [yの開始:yの終了, xの開始:xの終了]
|
|
roi_img = img[start_y:end_y, start_x:end_x]
|
|
|
|
# --- 結果の表示 ---
|
|
cv2.imshow('Original Image', img)
|
|
cv2.imshow('ROI (Region of Interest)', roi_img)
|
|
|
|
# キー入力待ち
|
|
cv2.waitKey(0)
|
|
cv2.destroyAllWindows() |