Mở đầu về hình ảnh trong Open CV và python
Mở đầu về hình ảnh trong Open CV và Python
Đây là link bài gốc, bạn nên đọc tiếng Anh vì tác giả giải thích rất cặn kẽ.
Trước khi thực hiện bạn phải cài Python và Open CV: (mình dùng Python 2.7 và Open CV 3
Cách cài => google :v
# import the necessary packages
import cv2
# load the image and show it
image = cv2.imread("image.jpg")
cv2.imshow("original", image)
cv2.waitKey(0)
- Đầu tiên import thư viện cv2.
- Sau đó đọc file ảnh "image.jpg" cùng thư mục.
- Hiển thị hình ảnh nguyên bản.
- Đợi người dùng nhấn bất kỳ nút gì để thoát.
print image.shape
- Hiển thị 3 thông số của hình ảnh: (320, 430,3).
- image.shape[0]=320 ứng với 320 dòng => chiều cao của ảnh.
- image.shape[1]=430 ứng với 320 cột => chiều ngang của ảnh.
- 3 chính là thuộc tính RBG của ảnh.
Tiếp theo ta căn chỉnh kích thước của hình ảnh. Ví dụ dưới là các bước để căn chỉnh hình ảnh theo chiều cao 100px.
# we need to keep in mind aspect ratio so the image does
# not look skewed or distorted -- therefore, we calculate
# the ratio of the new image to the old image
r = 100.0 / image.shape[1]
dim = (100, int(image.shape[0] * r))
# perform the actual resizing of the image and show it
resized = cv2.resize(image, dim, interpolation = cv2.INTER_AREA)
cv2.imshow("resized", resized)
cv2.waitKey(0)
- Thông số r để chỉnh tỉ lệ co giãn.
- dim chứa kích thước chiều cao và chiều rộng đã được căn chỉnh tỉ lệ.
2
3
4
5
6
7
8
9
10
|
# grab the dimensions of the image and calculate the center
# of the image
(h, w) = image.shape[:2]
center = (w / 2, h / 2)
# rotate the image by 180 degrees
M = cv2.getRotationMatrix2D(center, 180, 1.0)
rotated = cv2.warpAffine(image, M, (w, h))
cv2.imshow("rotated", rotated)
cv2.waitKey(0)
|
- Tìm trọng tâm của hình ảnh ở vị trí (chiều cao/2, chiều rộng/2)
- Xoay tấm ảnh 180 xung quanh tâm.
Nhận xét
Đăng nhận xét