human
PythonにCV2がロードされた画像があります。cv2.cannyを使用してエッジを検出した後、画像内のオブジェクトの周りにボックスを描きたいです。Pythonで例を挙げてください。
gpt
もちろん、ここにPythonのコード・スニペット例があります：
```
import cv2

# Load the image
img = cv2.imread('path_to_image')

# Convert the image to grayscale
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

# Use Canny edge detection to detect the edges in the image
edges = cv2.Canny(gray, 100, 200)

# Find the contours in the image
contours, hierarchy = cv2.findContours(edges, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)

# Loop over each contour in the image
for cnt in contours:
    # Get the bounding box of each contour
    x, y, w, h = cv2.boundingRect(cnt)
    
    # Draw a rectangle around the object
    cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 2)

# Display the final image with boxes around objects
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```

このコード・スニペットでは、画像を読み込んでグレースケールに変換します。次にCannyエッジ検出法を使って画像のエッジを検出します。次に、cv2 の ```findContours``` 関数を用いて、画像の輪郭を見つけます。最後に，cv2 の rectangle 関数を用いて，各輪郭をループ処理し，その外接ボックスを求め，オブジェクトの周囲に矩形を描きます．そして，```imshow``` を使って，オブジェクトの周囲にボックスが描かれた最終的な画像を表示します．