Phân đoạn ảnh là bước then chốt trong xử lý ảnh. Giai đoạn này nhằm phân tích ảnh thành các vùng có cùng tính chất nào đó dựa theo biên hay các vùng liên thông. Tiêu chuẩn để xác định các vùng liên thơng có thể là cùng mức xám, cùng màu hay cùng độ nhóm.
Q trình phân đoạn ảnh nhằm tách đối tượng cần khảo sát ra khỏi phần nội dung còn lại của ảnh, hay phân chia các đối tượng trong ảnh thành những đối tượng riêng biệt. Như vậy quá trình phân đoạn ảnh là quá trình giảm bớt số lượng thơng tin trong ảnh và chỉ giữ lại những thông tin cần thiết cho ứng dụng. Do đó phân đoạn ảnh là q trình loại bỏ các đối tượng khơng quan tâm trong ảnh. Có nhiều phương pháp phân đoạn ảnh khác nhau. Trong đó q trình phân đoạn ảnh sử dụng một ngưỡng giá trị xám để phân đoạn ảnh ra thành các đối tượng và nền là phương pháp đơn giản nhất. Lúc này các điểm ở bên dưới ngưỡng giá trị xám thuộc về nền còn những điểm ảnh ở bên trên ngưỡng giá trị xám thuộc về đối tượng. Phương pháp phân đoạn ảnh này hiệu quả lớn đối với ảnh nhị phân, văn bản in hay đồ họa... Dựa vào đặc tính vật lý của vùng ảnh, các kỹ thuật phân đoạn vùng có thể được chia làm 3 loại:
Các kỹ thuật cục bộ: dựa trên các đặc tính cục bộ của các điểm ảnh và các lân cận của nó.
Các kỹ thuật tổng thể: phân đoạn một ảnh dựa trên cơ sở của thông tin lấy từ tổng thể như sử dụng biểu đồ mức xám histogram.
Các kỹ thuật chia, nối và phát triển: dựa trên các khái niệm tương đồng về hình dạng và tính đồng nhất. Hai vùng có thể được nối lại với nhau và liền kề bên nhau. Các vùng khơng đồng nhất có thể được chia thành các vùng nhỏ. Một vùng có thể được phát triển bằng các nối các điểm ảnh sao cho nó đồng nhất với nhau.
2.4.2.7 Các phép giãn nở của ảnh
Phép giãn là thao tác giãn nở/phình to các đối tượng ảnh đơn sắc.
Tên đề tài: Ứng dụng xử lý ảnh để phân loai sản phẩm theo hình dạng, điều khiển và giám sát qua WinCC
19 SVTH: Bùi Anh Dũng
Phạm Lê Bảo Hồng
Người hướng dẫn: ThS. Phan Thị Thanh Vân Hình 2. 5: Phép giãn
Phép co là thao tác xói mịn/co hẹp các đối tượng ảnh đơn sắc. Nếu như phép dãn có thể nói là thêm điểm ảnh vào trong đối tượng ảnh, làm cho đối tượng ảnh trở nên lớn hơn thì phép co sẽ làm cho đối tượng ảnh trở nên nhỏ hơn, ít điểm ảnh.
Hình 2. 6: Phép co
2.4.2.8 Những định dạng của ảnh
Ảnh thu nhận được sau q trình số hóa thường được lưu lại cho các q trình xử lý tiếp theo hay truyền đi. Trong quá trình truyền của kỹ thuật xử lý ảnh, tồn tại nhiều định dạng khác nhau từ ảnh đen trắng như định dạng IMG, ảnh đa cấp xám cho đến ảnh màu (BMP,JPEG,GIF)
2.4.2.9 Các phần mềm hỗ trợ xử lý ảnh
Hiện nay xử lý ảnh được giảng dạy trường đại học và ứng dụng vào thực tế rất nhiều như các phần mềm chỉnh sửa hình ảnh hay nhận biết khn mặt. Chính vì thế có rất nhiều cơng cụ để chúng ta lập trình ứng dụng vào thực tế, như phải kể đến Matlap, Labview, hay ngôn ngữ Python,…
2.5 Xử lý ảnh
Từ những vấn đề ở trên. Ở đề tài này, chúng ta sẽ xử lý ảnh qua các bước sau : - Tiền xử lý ảnh.
- Xác định cạnh và tính tốn ảnh để nhận dạng hình dạng
2.5.1 Tiền xử lý ảnh
Tên đề tài: Ứng dụng xử lý ảnh để phân loai sản phẩm theo hình dạng, điều khiển và giám sát qua WinCC
20 SVTH: Bùi Anh Dũng
Phạm Lê Bảo Hoàng
Người hướng dẫn: ThS. Phan Thị Thanh Vân
Ở bước tiền xử lý ảnh này được thực hiện qua trình tự các bước: Đọc ảnh và cắt ảnh => lọc màu => biến đổi ảnh => tìm tập hợp điểm => vẽ viền quanh ảnh.
2.5.1.1 Đọc ảnh và cắt ảnh
Là quá trình đọc ảnh thơng qua camera ( camera màu) và chất lượng một ảnh đọc được phụ thuộc vào thiết bị thu, độ phân giải và môi trường (ánh sáng, phong cảnh). Đồng thời ta cắt ảnh để camera có thể lấy ảnh chính xác.
Hình 2. 7: Ảnh chưa cắt trên Raspberry
Tên đề tài: Ứng dụng xử lý ảnh để phân loai sản phẩm theo hình dạng, điều khiển và giám sát qua WinCC
21 SVTH: Bùi Anh Dũng
Phạm Lê Bảo Hồng
Người hướng dẫn: ThS. Phan Thị Thanh Vân Hình 2. 8: Ảnh đã cắt trên Raspberry
2.5.1.2 Lọc màu
Như đã nói ở phần trước, thì có 2 cách lọc màu đó là lọc màu theo dãy màu HSV và dãy màu RGB. Tuy nhiên, với đề tài phân loại sản phẩm theo hình dạng này thì việc phân biệt màu khơng q chú trọng.Vì vậy chúng ta chỉ cần đưa ảnh về màu xám theo dãy màu RGB là đơn giản nhất. Và việc lọc màu ảnh về màu xám này là quá trình giúp ta biến đổi ảnh dễ dàng hơn với tùng pixel màu.
Tên đề tài: Ứng dụng xử lý ảnh để phân loai sản phẩm theo hình dạng, điều khiển và giám sát qua WinCC
22 SVTH: Bùi Anh Dũng
Phạm Lê Bảo Hồng
Người hướng dẫn: ThS. Phan Thị Thanh Vân Hình 2. 9: Lọc màu ảnh trên Raspberry
2.5.1.3 Biến đổi ảnh
Ở bước này ta biến đổi ảnh về ảnh nhị phân (với mỗi điểm ảnh chỉ có 2 màu trắng và đen) với giá trị 0 là đen (tối nhất) và 255 là trắng ( sáng nhất). Tuy nhiên, việc biến đổi này vẫn còn độ nhiễu của các điểm ảnh. Do vậy, chúng ta phải chỉnh lại ngưỡng của ảnh nhị phân, để loại bỏ bớt những điểm ảnh không cần thiết trong khoảng giá trị là 0 đến 255 pixel và từ đó ta có thể dễ dàng tìm được tập hợp các điểm ảnh mà ta cần
Tên đề tài: Ứng dụng xử lý ảnh để phân loai sản phẩm theo hình dạng, điều khiển và giám sát qua WinCC
23 SVTH: Bùi Anh Dũng
Phạm Lê Bảo Hoàng
Người hướng dẫn: ThS. Phan Thị Thanh Vân Hình 2. 10: Ảnh nhị phân trên Raspberry
2.5.1.4 Tìm điểm
Ở đề tài này thì việc tìm điểm trên ảnh nhị phân mà ta đã biến đổi ảnh trước đó, giúp chúng ta xác định các điểm mà ta cần. Từ việc tìm điểm này, ta đã tách ra được 2 vùng điểm ảnh là vùng điểm không cần và vùng điểm cần nhận dạng ảnh trên bức ảnh nhị phân. Với vùng không cần là vùng điểm ảnh với giá trị là 0 và vùng cần tìm là 255. Vậy là ta đã nhận dạng được tập hợp điểm cần tính tốn để phát hiện hình dạng sản phẩm.
2.5.1.5 Vẽ viền quanh ảnh
Giúp ta vẽ lên viền bao quanh ảnh, từ đó dễ dàng quan sát ảnh qua Camera.
2.5.1.6 Kết luận
Như vậy bước tiền xử lý ảnh này, nói một cách đơn giản là thì lọc nhiễu để camera nhận dạng ảnh một cách chính xác nhất.
2.5.2 Xác định cạnh và tính tốn ảnh để nhận dạng hình dạng
Từ bước tiền xử lý ảnh ở trên, đó là cơ sở giúp ta phân biệt được 4 hình dạng đó là hình chữ nhật, hình tam giác, hình vng và hình trịn. Để có thể phân biệt được 4 hình dạng này, thì ta dùng phương pháp đó là xác định cạnh của ảnh. Với tam giác là
Tên đề tài: Ứng dụng xử lý ảnh để phân loai sản phẩm theo hình dạng, điều khiển và giám sát qua WinCC
24 SVTH: Bùi Anh Dũng
Phạm Lê Bảo Hoàng
Người hướng dẫn: ThS. Phan Thị Thanh Vân
có 3 cạnh, hình vng và hình chữ nhật có 4 cạnh, cịn nhiều cạnh hơn đó sẽ là hình trịn, từ đó ta sẽ phân biệt các hình thơng qua tìm cạnh của ảnh. Vấn đề là làm sao ta có thể xác định số cạnh của ảnh, với hình tam giác thì có 3 cạnh và hình trịn có nhiều số cạnh nhất là đơn giản. Vậy làm như thế nào mới phân được đâu là hình vng và hình chữ nhật trong khi nó có số cạnh đều là 4. Để nhận dạnh được hai hình đó là hình vng và hình chữ nhật thì ta buộc phải tính tốn vùng điểm ảnh của hai hình đó với vùng điểm ảnh hình chữ nhật là lớn nhất rồi đến hình vng cuối cùng tam giác.
2.5.2.1 Xác định cạnh
Để có thể xác định cạnh trên ảnh thì ta sẽ dùng phương pháp giảm điểm để tìm được khoảng cách xa nhất của hai điểm, là hai điểm đầu và điểm cuối trong tập hợp điểm ảnh, từ đó để tạo ra một đoạn thẳng trên ảnh như thế thì ta đã tìm ra một cạnh trên ảnh.
Hình 2. 11: Giảm điểm và tạo đoạn thẳng của lệnh ApproxPolyDP trong OpenCV
2.5.2.2 Tính tốn ảnh
Việc tính tốn này giúp ta phân biệt được là hình vng và hình chữ nhật. Tuy nhiên, với sản phẩm sẽ phân loại là loại khối dạng 3D, nên đôi khi ảnh sẽ nhận dạng số cạnh bị sai, phát sinh ra thêm cạnh như hình tam giác có 3 cạnh nhưng khi nhận dạng cạnh sẽ thêm 1 đến 2 cạnh, như thế thì tam giác sẽ có đến 4 đến 5 cạnh và hình chữ nhật với hình vng cũng tương tự thế, thì việc nhận dạng và phân loại hình dạng sẽ bị phân loại nhầm. Vì thế, việc tính tốn ảnh này ngồi việc phân biệt được 2 hình là hình vng và hình chữ nhât, cịn giúp ta giúp ta nâng cao độ chính xác khi xử lý ảnh để phân loại sản phẩm chính xác nhất.
Ở đề tài này, việc tính tốn khá là đơn giản cho việc phân biệt hình vng và hình chữ nhật. Lấy hiệu của hai cạnh trên ảnh, với hình chữ nhật là lớn nhất đến hình vng. Với tam giác là nhỏ nhất nên ta sẽ tính vùng điểm trên ảnh để nhận dạng tam giác với vùng điểm trên ảnh bé hơn kết quả khi được tính tốn ra sẽ là tam giác. Hình trịn thì đơn giản nhất với số cạnh lớn hơn 8 cạnh sẽ là hình trịn.
Tên đề tài: Ứng dụng xử lý ảnh để phân loai sản phẩm theo hình dạng, điều khiển và giám sát qua WinCC
25 SVTH: Bùi Anh Dũng
Phạm Lê Bảo Hoàng
Người hướng dẫn: ThS. Phan Thị Thanh Vân