1. Home
  2. Lập Trình
  3. Bài tập xử lý ảnh có lời gải – code python ( OpenCV )
Nguyễn Tuấn 4 năm trước

Bài tập xử lý ảnh có lời gải – code python ( OpenCV )

Để có thể code những bài tập xử lý ảnh thì các bạn cần phải cài đặt : Python ( bản mới nhất ), thư viện xử lý ảnh OpenCV, numpy, matplotlib và  IDE soạn thảo code : VS C >2016, Pycharm, Sublime Text, NotePad++,…

Bài 1 : Bài tập xử lý ảnh: đọc ảnh mầu I04.jpg vào biến ma trận I.
– Hiển thị kênh G của ảnh I.
– Chuyển ảnh mầu I sang ảnh đa cấp xám (grayscale) theo phương pháp tổ hợp 3 thành phần mầu, được ma trận ảnh Ig.
– Hiển thị ảnh Ig và hiển thị giá trị đô cao, độ rộng của ảnh Ig.

import cv2
import numpy as np

#1a
I = cv2.imread("I04.jpg")
cv2.imshow('kênh G',I[;;1]) #OpenCV: BGR:0->B,1->G,2->R
#1b
#đổi BGR sang gray
Ig = cv2.cvt(I,cv2.COLOR_BGR2GRAY)
cv2.imshow('anh gray',Ig)
#Tính độ cao ảnh
print('độ cao của ảnh',Ig.shape[0])
#độ rộng ảnh
print(Ig.shape[1])

cv2.waitKet()

Bài 2: Sử dụng ngôn ngữ lập trình tùy chọn Python/Matlab/ C++/Java, thư viện thị giác máy tính OpenCV, viết chương trình thực hiện yêu cầu sau:
– Đọc ảnh mầu the_can_cuoc_congdan.jpg vào biến ma trận I.
– Hiển thị giá trị độ cao và độ rông của ảnh I và cả ảnh I.
– Hiệu chỉnh lại ảnh I với size mới là độ cao 256, độ rộng 256 được ảnh I2. Hiển thị ảnh I2.
– Chuyển đôi ảnh I sang ảnh HSV được ma trận ảnh Ihsv. Hiển thị kênh H của ảnh Ihsv.

import cv2
import numpy as np

#2a
I = cv2.imread(' the_can_cuoc_congdan.jpg')
print('do cao anh',I.shape[0])
print('do rong anh',I.shape[1])

#2b
I2= cv2.resize(I,(256,256))
cv2.imshow('Anh Resize',I2)

#2c
Ihsv = cv2.cvtColor(I,cv2.COLOR_BGR2HSV)
cv2.imshow('Anh HSV',Ihsv)
cv2.imshow('Kenh H',Ihsv[;;0])

cv2.waitKet()

Bài 3: Bài tập xử lý ảnh đọc ảnh mầu coins.jpg vào biến ma trận I.
– Hiển thị ảnh I.
– Chuyển ảnh sang biểu diễn HSV được ma trận Ihsv. Hiển thị kênh H của Ihsv.
– Xác định giá trị mức sáng nhỏ nhất của kênh S của ảnh Ihsv.

import cv2
import numpy as np

I = cv2.imread('coins.jpg')
#3a
cv2.imshow('Anh I',I)

#3b
Ihsv = cv2.cvtColor(I,cv2.COLOR_BGR2HSV)
cv2.imshow('kenh H',Ihsv[:,:,0])
#cv2.imshow('kenh S',Ihsv[:,:,1])
#cv2.imshow('kenh V',Ihsv[:,:,2])
#mức sáng min
print(np.min(Ihsv[:,:,1]))
#########################

cv2.waitKey()

Cảm ơn các bạn đã ghé thăm. Chúc các bạn thành công!

8 lượt xem | 0 bình luận
Đồng ý Cookie
Trang web này sử dụng Cookie để nâng cao trải nghiệm duyệt web của bạn và cung cấp các đề xuất được cá nhân hóa. Bằng cách chấp nhận để sử dụng trang web của chúng tôi