Trích:
Nguyên văn bởi hoangsonk49
Cái này đơn giản thôi. bạn làm một vòng lặp, giả sử vật thể là 1, nền là 0 thì cho vòng lặp chạy qua hết các điểm, cứ gặp cái 1 nào thì tăng lên 1
|
tại các bác chưa tìm hiểu hết matlab đó thôi trước khi tính diên tích của nó thì cần xử lý nó trước cái đã!! trước tiên là trong đối tượng sẽ có những lổ trống,matlab có hàm imfill để lấp đầy các lỗ này!
sao đó là xử lý các nhiểu,là một vài pixel đứng riêng rẽ,đã là nhiểu rồi thì số pixel không nhiều đâu nhá!!
mat lab tạo ra một dạng cấu trúc là một mặt nạ các pixel có hình dạng như ta mong muốn,hình đĩa,hình vuông,hình ch,hình chử thập..., sau đó quét cấu trúc này đi khắp ảnh,khi cấu trúc này đặt ở đâu trên ảnh mà số pixel tương ứng của ảnh không thỏa cấu trúc yêu cầu thì nó xóa đi(đây là nguyên tắc hoạt động thôi nhá chứ khi làm thì chỉ ghi hàm vô nó từ làm à)
cac bác về tìm hiểu các hàm này nè
imopen,imclose,bwareaopen,strel
bwareaopen còn cho phép mở ảnh với các đối tượng có số pixel đặt trước,cũng áp dụng để loại nhiểu được đó.
rồi sao đó dùng hàm bwarea để tính diện tích thôi,còn nếu ảnh có nhiều đối tượng thì dùng hàm khác chơi được luôn dùng hàm regionprop
vì sắp thi rồi nên mình cũng không có nhiều thời gian để viét,các bạn về mơ help của nó lên mà đọc