Cách xử lý ảnh và đếm số lượng với MATLAB

Matlab là viết tắt của “MATrix LABoratory”, là một bộ phần mềm toán học và cũng là ngôn ngữ lập trình thế hệ thứ 4 của Mathworks. Matlab giải quyết các vấn đề về mặt kỹ thuật kỹ thuật, lập trình, tính toán số nhanh hơn nhiều so với các ngôn ngữ lập trình truyền thống, như C, C ++ và Fortran. Trong bài viết này Taimienphi.vn sẽ hướng dẫn bạn cách xử lý ảnh và đếm số lượng với Matlab.

Việc xử lý ảnh và đếm số lượng với MATLAB được thực hiện bằng cách thực thi các lệnh dưới đây trong cửa sổ lệnh của MATLAB.

Cách xử lý ảnh và đếm số lượng với MATLAB

Nếu máy tính của bạn chưa có Matlab, hãy tải về và cài đặt Matlab phiên bản mới nhất tại đây : Download Matlab

Bước 1: Đọc ảnh

cach xu ly anh va dem so luong voi matlab

Một hình ảnh sẽ tương phản đáng kể với nền background của nó để xác định các đối tượng. Hàm imread đọc ảnh từ một vị trí nhất định và lưu ảnh trong ma trận img1. Hàm imshow sẽ hiển thị ảnh.

img1=imread('Lines.jpg');

imshow(img1)

Bước 2: Chuyển đổi màu ảnh sang màu xám

cach xu ly anh va dem so luong voi matlab 2

Bước này sẽ xóa các màu sắc trong ảnh đi và để xác định các đối tượng dễ dàng hơn. Hàm rgb2gray chuyển đổi màu sắc trong ảnh sang màu xám và lưu trữ trong ma trận img2.

img1=rgb2gray(img1);

imshow(img1)

Bước 3: Ngưỡng hình ảnh

cach xu ly anh va dem so luong voi matlab 3

Ngưỡng hình ảnh bằng cách chuyển đổi ảnh màu xám sang ảnh chỉ chứa 2 màu. Hàm im2bw() gán màu đen cho tất cả điểm ảnh có độ sáng cao hơn mức ngưỡng, và còn lại là màu trắng. Hàm graythresh () tính toán khoảng ngưỡng của hình ảnh.

img2=im2bw(img1,graythresh(img1));

imshow(img2)

Bước 4: Phần bổ sung hình ảnh

cach xu ly anh va dem so luong voi matlab 4

Sử dụng toán tử ~ để bổ sung cho hình ảnh. Bằng cách này để chuyển đổi các mảng trắng thành màu đen và ngược lại. Nếu muốn làm nổi bật đối tượng bằng màu trắng, bạn có thể thực hiện bước này.

img2=~img2;

imshow(img2)

Bước 5: Tìm ranh giới của các đối tượng

cach xu ly anh va dem so luong voi matlab 5

Bước này để tìm ranh giới của mỗi đối tượng mà Matlab tìm thấy và lưu trữ trong B. Hàm text sẽ in số lượng các đối tượng mà hàm bwboundaries tìm thấy.

B = bwboundaries(img2);

imshow(img2)

text(10,10,strcat('\color{green}Objects Found:',num2str(length(B))))

hold on

Bước 6: Vẽ đường ranh giới

cach xu ly anh va dem so luong voi matlab 6

Bước xử lý ảnh và đếm số lượng với MATLAB này khá thú vị, trong đó bạn có thể đánh dấu ranh giới các đối tượng được xác định bởi hàm bwboundaries. Nếu cảm thấy phức tạp quá, bạn có thể bỏ qua bước này:

for k = 1:length(B)

boundary = B{k};

plot(boundary(:,2), boundary(:,1), 'g', 'LineWidth', 0.2)

end

Bước 7: Code

img1=imread('Lines.jpg');

imshow(img1)

img1=rgb2gray(img1);

imshow(img1)

img2=im2bw(img1,graythresh(img1));

imshow(img2)

img2=~img2;

imshow(img2)

B = bwboundaries(img2);

imshow(img2)

text(10,10,strcat('\color{green}Objects Found:',num2str(length(B))))

hold on

for k = 1:length(B)

boundary = B{k};

plot(boundary(:,2), boundary(:,1), 'g', 'LineWidth', 0.2)

end

https://thuthuat.taimienphi.vn/cach-xu-ly-anh-va-dem-so-luong-voi-matlab-28966n.aspx
Như vậy trong bài viết trên Taimienphi.vn vừa hướng dẫn bạn cách xử lý ảnh và đếm số lượng với MATLAB. Để cải thiện kỹ năng làm việc với Matlab, nhanh chóng thuần thục chương trình này, bạn có thể tải về giáo trình tự học Matlab và nhanh chóng nâng cao kỹ năng sử dụng Matlab nhé. Nếu có thắc mắc hoặc chỗ nào chưa hiểu bạn có thể để lại câu hỏi của mình trong phần bình luận bên dưới bài viết nhé!

Tác giả: Nguyễn Cảnh Nam     (4.1★- 15 đánh giá)  ĐG của bạn?

  

Bài viết liên quan

Các kiểu số học trong MATLAB
Các lệnh trong MATLAB
Cài đặt và sử dụng Matlab
Hướng dẫn thay đổi vị trí thư mục MATLAB
Cách viết hàm trong MATLAB
Từ khoá liên quan:

MATLAB

, cách xử lý ảnh với MATLAB, MATLAB là gì,

SOFT LIÊN QUAN
  • MATLAB Compiler Runtime

    Môi trường thực thi ứng dụng MATLAB

    MATLAB Compiler Runtime là môi trường thời gian chạy, cho phép bạn thực thi các ứng dụng MATLAB mà không cần cài đặt gói phần mềm gốc trên hệ thống đích. MATLAB Compiler Runtime tích hợp nhiều thư viện chia sẻ mà MATLAB ...

Tin Mới

  • Hướng dẫn tạo hàm Daemon Threads trong Java

    Hàm Daemon Thread trong Java là một loại thread chạy nền, hỗ trợ các tiến trình chính mà không ngăn chặn chương trình kết thúc. Khi tất cả User Thread kết thúc, JVM sẽ tự động dừng mọi Daemon Thread đang chạy.

  • Hướng dẫn ghi sổ dự giờ, làm sổ

    Ghi sổ dự giờ đúng cách không phải giáo viên nào cũng biết. Dưới đây là hướng dẫn giúp bạn hoàn thiện sổ dự giờ với đầy đủ thông tin, đưa ra đánh giá và nhận xét chính xác về đồng nghiệp.

  • Hướng dẫn vẽ hình bằng Geogebra

    GeoGebra hỗ trợ vẽ các hình học như đường thẳng, hình bình hành, hình vuông, tam giác,… Nếu mới sử dụng, bạn có thể gặp khó khăn ban đầu. Bài viết này hướng dẫn cách vẽ hình đơn giản trong GeoGebra để bạn dễ dàng áp

  • 8/3/2025 là kỷ niệm bao nhiêu năm ngày Quốc tế Phụ Nữ?

    Ngày Quốc tế Phụ Nữ 8/3 là dịp tôn vinh những đóng góp của phụ nữ trên toàn cầu. Tải Miễn Phí sẽ cùng bạn tìm hiểu cột mốc kỷ niệm năm 2025 và những