JavaRush /Blog Java /Random-VI /Tìm tâm của một hình không đều trên mặt phẳng
fatfaggy
Mức độ
Киев

Tìm tâm của một hình không đều trên mặt phẳng

Xuất bản trong nhóm
Chào mọi người. Tôi đang giải quyết một vấn đề đơn giản ngay bây giờ. Điều kiện có vẻ giống như thế này:
Cho một ma trận (mảng hai chiều), trong đó mỗi phần tử đại diện cho một pixel. Pixel có thể có màu đỏ, đen hoặc một số màu khác. Cần thực hiện tìm kiếm hiệu ứng mắt đỏ trong ảnh. Nếu tâm của các điểm ảnh màu đen trùng với tâm của các điểm ảnh màu đỏ thì chúng ta đã tìm thấy mắt đỏ.
Giả định rằng ranh giới của phạm vi pixel màu đỏ rộng hơn ranh giới của phạm vi pixel đen. Ngoài ra, các tùy chọn sẽ không được xem xét nếu hình ảnh chứa các pixel màu đỏ và đen bên ngoài “mắt”. Mọi thứ bên ngoài “mắt” sẽ có màu khác. Tôi đã lên kế hoạch triển khai nó bằng cách sử dụng (khoảng) thuật toán này. Hai vòng lặp, một vòng lồng vào nhau. Một cái đi qua X, cái kia đi qua Y. Ngay khi tìm thấy pixel màu đỏ, chúng tôi sửa tọa độ của nó làm tọa độ ban đầu và tìm tọa độ cuối cùng. Ngay sau khi các pixel màu đỏ không còn xuất hiện nữa, chúng tôi sẽ sửa pixel màu đỏ cuối cùng mà chúng tôi gặp làm tọa độ cuối cùng của phạm vi các pixel màu đỏ. Tương tự với các pixel màu đen. Sau đó, chúng tôi chia các phạm vi làm đôi và tìm các trung tâm. Thuật toán như vậy sẽ hoạt động khá tốt với các hình có hình dạng đều đặn hoặc ít hơn (hình tròn). Và ở đây tôi quyết định làm phức tạp nhiệm vụ của mình)) Cụ thể là hiểu cách cải thiện thuật toán cho các hình dạng không đều. Ví dụ: nếu một người có một số vấn đề về thị lực (do đó hình dạng của mắt có thể không chính xác) hoặc ảnh được chụp ở một góc hoặc một số tình huống khác... Một tìm kiếm nhanh đã đưa tôi đến các bài viết trên Wikipedia về tâm khối và tâm bary. Nhưng có quá nhiều ngôn từ đáng sợ và khủng khiếp ở đó nên tôi quyết định tạm thời gác nó sang một bên và hỏi cộng đồng xem bạn sẽ thực hiện điều này như thế nào? :)
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION