Khi sử không sử dụng hàm có sẵn thì , hình dáng lượt đồ tương tự với lượt đồ gốc , ở bên phải số lượng các cột mỏng hơn còn bên trái số lượng các cột nhiều hơn đứng xít nhau , giá trị cá
Trang 1BTVN XỬ LÝ ẢNH NGUYỄN VIỆT HÙNG
source = ([ii jj]-dest(1,:))*R.';
if all(source >= 1) && all(source <= [m n])
C = ceil(source);
F = floor(source);
A = [
((C(2)-source(2))*(C(1)-source(1))), ((source(2)-F(2))*(source(1)-F(1))); ((C(2)-source(2))*(source(1)-F(1))),
Trang 4KẾT QUẢ
- Buổi 3:
Trang 6Khi sử không sử dụng hàm có sẵn thì , hình dáng lượt đồ tương tự với lượt đồ gốc , ở bên phải số lượng các cột mỏng hơn còn bên trái số lượng các cột nhiều hơn đứng xít nhau , giá trị các cột chênh nhau nhiều , và tương tự như lược đồ gốc
Về ảnh :
ảnh sau khi sử dụng hàm có sẵn và hàm tự code sẽ sáng hơn
- - Buổi 4.H1 = ¼ [1 ; 2 ; 1] ; H2 = H1’ (Chuyển vị); I : ảnh xám
a, Tính Y1 = I * H1 Y2 = Y1 * H2
b, Gọi H = 1/16 [1 2 1;2 4 2;1 2 1] Tính Y3 = I * H
c, So sánh Y2 & Y3 Nhận xét 2 thuộc tính Y2 & Y3
CODE:
Trang 7transpose(H1) khi khi chập ảnh với H1 và H2 thì sẽ nhanh hơn vì số
phép nhân được giảm xuống so với việc dùng bộ lọc H
Trang 8Buổi 5: Dùng phương pháp nội suy song tuyến tính tìm giá trị ảnh từ
I(:,:,1) = imfilter(I(:,:,1), WRB, 'replicate');
I(:,:,2) = imfilter(I(:,:,2), WG, 'replicate');
I(:,:,3) = imfilter(I(:,:,3), WRB, 'replicate');
figure
imshow(I,[])
Kết quả :
(ảnh ban đầu) (ảnh sau nội suy) Nhận xét:
ảnh được tái tạo lại màu khá hoàn chỉnh , tuy nhiên khi phóng to ảnh lên thì sẽ bị lỗi màu ở những chỗ có nhiều chi tiết (nhiều màu giao nhau)
- Buổi 6: Dùng phương pháp Alleyson để giải quyết bài toán demosaicing
Trang 9res(:,:,2) = conv2(C2, WG,'same') + lmn;
res(:,:,3) = conv2(C3, WRB,'same') + lmn;
imshow(res,[])
(ảnh ban đầu) (ảnh sau khôi phục)
Trang 10Nhận xét : ảnh được khôi phục màu khá hoàn chỉnh , lỗi màu được cải thiện so với phương pháp nội suy song tuyến tính vì ảnh được chia thành
2 phần chrominance và luminance và chỉ nội suy trên thành phần
chrominance do đó hiện tượng sai màu được cải thiện hơn
Buổi 7-8 không có bài tập
- Buổi 9
Chọn các hình: bãi biển, tòa nhà, nội thất, cây, người đi bộ Trộn phổ biên độ của 5 hình trên, tìm cách tìm tương ứng
Trang 11
(1) (2) (3)
(4) (5)
-
(a) (b) (c)
Trang 12(d) (e)
tìm ảnh tương ứng với phổ biên độ
note : tất cả các ảnh điều có kích thước bằng nhau
ta thấy
ảnh (d) sẽ tương ứng với (1) vì có nhiều góc cạnh nhất.nên sẽ có nhiều đường chạy qua tâm thể hiện sự chuyển đổi mức năng lượng (các góc cạnh) từ vùng này sang vùng khác trong ảnh
ảnh (a) sẽ tương ứng với (3) vì có ít góc cạnh nhất
ảnh (c) sẽ tương ứng với (5) có các thành phần màu sắc tách biệt nhau ảnh (e) sẽ tương ứng với (4) vì ảnh mang ít chi tiết nhất
ảnh (b) sẽ tương ứng với (2) còn lại
- Buổi 10 không có
Buổi 11
Câu 1 tìm biến đổi fourier của h(x)
Trang 13câu 2.Gọi I là ảnh mosaic 1 lớp Sử dụng các bộ lọc để lọc 1 cách hợp lý
Trang 14Bộ lọc Gaussian thì trong miền tần số hay miền không gian điều có dạng Gaussian do đó không có hiện tượng gợn sóng
Trang 17- Buổi 13
Trang 19if labels(i) ~= 0 || ~any(distances(i,:) <= epsilon)
Trang 20Trong thuật toán DBSCAN sử dụng hai tham số chính đó là:
minPts: Là một ngưỡng số điểm dữ liệu tối thiểu được nhóm lại
với nhau nhằm xác định một vùng lân cận epsilon có mật độ cao
Số lượng minPts không bao gồm điểm ở tâm
epsilon : Một giá trị khoảng cách được sử dụng để xác định vùng lân cận epsilon của bất kỳ điểm dữ liệu nào
Hai tham số trên sẽ được sử dụng để xác định vùng lân cận epsilon và
khả năng tiếp cận giữa các điểm dữ liệu lẫn nhau Từ đó giúp kết nối chuỗi dữ liệu vào chung một cụm
Hai tham số trên giúp xác định ba loại điểm:
điểm lõi (core): Đây là một điểm có ít nhất minPts điểm trong vùng lân cận epsilon của chính nó
điểm biên (border): Đây là một điểm có ít nhất một điểm lõi nằm
ở vùng lân cận epsilon nhưng mật độ không đủ minPts điểm
điểm nhiễu (noise): Đây là điểm không phải là điểm lõi hay điểm biên
Qui trình của thuật toán:
Bước 1: Thuật toán lựa chọn một điểm dữ liệu bất kì Sau đó tiến
hành xác định các điểm lõi và điểm biên thông qua vùng lân cận epsilon bằng cách lan truyền theo liên kết chuỗi các điểm thuộc
cùng một cụm
Bước 2: Cụm hoàn toàn được xác định khi không thể mở rộng được thêm Khi đó lặp lại đệ qui toàn bộ quá trình với điểm khởi tạo trong số các điểm dữ liệu còn lại để xác định một cụm mới Nhận xét :
So sánh thuật toán DBSCAN vs k-means
Trang 21Kết quả cho thấy DBSCAN tạo ra các cụm được phân chia có tính tổng quát hoá hơn đối với các trường hợp đặc biệt như hình tròn bao quan hình tròn, hai đường cong úp vào nhau, các cụm với kích thước to và
nhỏ khác nhau
Ưu điểm :DBSCAN : không cần biết trước số cụm
Nhược điểm :Tuy nhiên việc chọn epsilon, minPts là tương đối khó khăn nếu không biết rõ dữ liệu
- BUỔI 14 –NHẬN DIỆN BIỂN BÁO (sử dụng python)
for x in range ( 0, rows):
for y in range(0, cols):
cv2.cvtColor( imgArray[x][y], cv2.COLOR_GRAY2BGR)
imageBlank = np.zeros((height, width, 3), np.uint8)
Trang 23img = cv2.imread(path)
imgHSV = cv2.cvtColor(img,cv2.COLOR_BGR2HSV) h_min = cv2.getTrackbarPos("Hue Min","TrackBars") h_max = cv2.getTrackbarPos("Hue Max", "TrackBars") s_min = cv2.getTrackbarPos("Sat Min", "TrackBars") s_max = cv2.getTrackbarPos("Sat Max", "TrackBars") v_min = cv2.getTrackbarPos("Val Min", "TrackBars") v_max = cv2.getTrackbarPos("Val Max", "TrackBars") print(h_min,h_max,s_min,s_max,v_min,v_max)
Trang 24Phương pháp này là phương pháp phát hiện vùng vật dựa trên không gian màu HSV
Ưu điểm : phân vùng với độ chính xác cao
Nhược điểm : phải làm thủ công , 1 số biển có màu trùng với màu xung quanh thì việc tách màu ra rất khó khan.