![Tạo bộ phân loại hình ảnh OpenCV bằng Python: 7 bước Tạo bộ phân loại hình ảnh OpenCV bằng Python: 7 bước](https://i.howwhatproduce.com/images/003/image-7979-29-j.webp)
Mục lục:
2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-23 15:15
![Tạo bộ phân loại hình ảnh OpenCV bằng Python Tạo bộ phân loại hình ảnh OpenCV bằng Python](https://i.howwhatproduce.com/images/003/image-7979-30-j.webp)
Bộ phân loại Haar trong python và opencv là nhiệm vụ khá phức tạp nhưng dễ dàng.
Chúng tôi thường phải đối mặt với các vấn đề trong phát hiện và phân loại hình ảnh. cách giải quyết tốt nhất là tạo bộ phân loại của riêng bạn. Ở đây chúng ta học cách tạo bộ phân loại hình ảnh của riêng mình bằng một vài lệnh và các chương trình python dài nhưng đơn giản
Việc phân loại yêu cầu một số lượng lớn các hình ảnh âm bản và dương bản.
Khoảng 2000 âm tính và dương tính được yêu cầu. Chương trình python chuyển đổi hình ảnh sang thang độ xám và kích thước phù hợp để bộ phân loại dành thời gian tối ưu để tạo.
Bước 1: Yêu cầu phần mềm
Bạn yêu cầu các phần mềm sau để tạo bộ phân loại của riêng bạn
1) OpenCV: phiên bản tôi đã sử dụng là 3.4.2. phiên bản có sẵn dễ dàng trên internet.
2) Python: Phiên bản được sử dụng là 3.6.2. Có thể tải xuống từ python.org
Hơn nữa, bạn yêu cầu một webcam (tất nhiên).
Bước 2: Tải xuống hình ảnh
Bước đầu tiên là chụp ảnh rõ ràng về đối tượng cần phân loại.
Kích thước không được quá lớn vì máy tính cần nhiều thời gian hơn để xử lý. Tôi đã lấy kích thước 50 x 50.
Tiếp theo, chúng tôi tải xuống các hình ảnh tiêu cực và tích cực. Bạn có thể tìm thấy chúng trực tuyến. Nhưng chúng tôi sử dụng mã python để tải xuống hình ảnh từ 'https://image-net.org'
Tiếp theo, chúng tôi chuyển đổi hình ảnh sang thang độ xám và kích thước bình thường. Đây là alo thực hiện trong mã. Mã cũng loại bỏ bất kỳ hình ảnh bị lỗi nào
Bây giờ thư mục của bạn nên chứa hình ảnh đối tượng, ví dụ: thư mục watch5050-j.webp
Nếu thư mục dữ liệu không được tạo, hãy làm điều đó theo cách thủ công
Mã python được cung cấp trong tệp.py
Bước 3: Tạo mẫu tích cực trong OpenCV
![Tạo mẫu tích cực trong OpenCV Tạo mẫu tích cực trong OpenCV](https://i.howwhatproduce.com/images/003/image-7979-31-j.webp)
![Tạo mẫu tích cực trong OpenCV Tạo mẫu tích cực trong OpenCV](https://i.howwhatproduce.com/images/003/image-7979-32-j.webp)
Bây giờ, hãy truy cập thư mục opencv_createsamples và thêm tất cả nội dung được đề cập ở trên
trong dấu nhắc dấu phẩy, hãy truy cập C: / opencv342 / build / x64 / vc14 / bin để tìm opencv_createsamples và opencv_traincascade ứng dụng
bây giờ thực hiện các lệnh sau
opencv_createsamples -img watch5050-j.webp
Lệnh này dùng để tạo chính xác các mẫu dương tính của đối tượng 1950 Và tệp mô tả info.lst của các ảnh dương bản mô tả phải như thế này 0001_0014_0045_0028_0028-j.webp
Bây giờ thư mục chứa
thông tin
thư mục hình ảnh phủ định
tệp bg.txt
thư mục dữ liệu trống
Bước 4: Tạo tệp vectơ dương
![Tạo tệp vectơ dương Tạo tệp vectơ dương](https://i.howwhatproduce.com/images/003/image-7979-33-j.webp)
Bây giờ, hãy tạo tệp vectơ dương để cung cấp đường dẫn đến các hình ảnh dương trong tệp giải mã
Sử dụng lệnh sau
opencv_createsamples -info info / info.lst -num 1950 -w 20 -h 20 -vec positive.vec
Bây giờ nội dung của thư mục phải như sau:
--neg
---- negimages.jpg
--opencv
--thông tin
--dữ liệu
--positive.vec
--bg.txt
--watch5050-j.webp
Bước 5: Đào tạo trình phân loại
![Đào tạo trình phân loại Đào tạo trình phân loại](https://i.howwhatproduce.com/images/003/image-7979-34-j.webp)
![Đào tạo trình phân loại Đào tạo trình phân loại](https://i.howwhatproduce.com/images/003/image-7979-35-j.webp)
![Đào tạo trình phân loại Đào tạo trình phân loại](https://i.howwhatproduce.com/images/003/image-7979-36-j.webp)
Bây giờ, hãy đào tạo tầng haar và tạo tệp xml
Sử dụng lệnh sau
opencv_traincascade -data data -vec positive.vec -bg bg.txt -numPos 1800 -numNeg 900 -numStages 10 -w 20 -h 20
các giai đoạn là 10 Việc tăng các giai đoạn cần nhiều xử lý hơn nhưng trình phân loại hoạt động hiệu quả hơn.
Bây giờ haarcascade được tạo Mất khoảng hai giờ để hoàn thành Mở thư mục dữ liệu ở đó, bạn sẽ tìm thấy cascade.xml Đây là trình phân loại đã được tạo
Bước 6: Kiểm tra Bộ phân loại
Thư mục dữ liệu chứa các tệp như trong hình trên.
Sau khi tạo trình phân loại, chúng ta xem trình phân loại có hoạt động hay không bằng cách chạy chương trình object_detect.py. Đừng quên đặt tệp classifier.xml trong thư mục python.
Bước 7: Cảm ơn đặc biệt
Tôi muốn cảm ơn Sentdex ở đây, người là một lập trình viên python tuyệt vời.
Anh ấy có tên youtube với cái tên đã nói ở trên và video đã giúp mình rất nhiều có link này
Hầu hết mã đã được sao chép từ sentdex. Mặc dù đã nhận được rất nhiều sự giúp đỡ từ sentdex, nhưng tôi vẫn phải đối mặt với rất nhiều vấn đề. Tôi chỉ muốn chia sẻ kinh nghiệm của tôi.
Tôi hy vọng intructable này đã giúp bạn !!! Chơ để biết thêm.
BR
Tahir Ul Haq
Đề xuất:
Tạo máy phân loại thùng rác Pi với ML !: 8 bước (có hình ảnh)
![Tạo máy phân loại thùng rác Pi với ML !: 8 bước (có hình ảnh) Tạo máy phân loại thùng rác Pi với ML !: 8 bước (có hình ảnh)](https://i.howwhatproduce.com/images/001/image-33-5-j.webp)
Tạo Máy phân loại Thùng rác Pi Với ML !: Dự án Máy phân loại Thùng rác, được gọi thân mật là " Nó sẽ đi đến đâu ?! ", được thiết kế để giúp việc vứt bỏ mọi thứ nhanh hơn và đáng tin cậy hơn. Dự án này sử dụng mô hình Học máy (ML) được đào tạo tại Lobe, một người thân thiện với người mới bắt đầu (không cần mã!)
Máy tạo sương mù bằng đá khô Ultimate - Điều khiển bằng Bluetooth, chạy bằng pin và in 3D.: 22 bước (có hình ảnh)
![Máy tạo sương mù bằng đá khô Ultimate - Điều khiển bằng Bluetooth, chạy bằng pin và in 3D.: 22 bước (có hình ảnh) Máy tạo sương mù bằng đá khô Ultimate - Điều khiển bằng Bluetooth, chạy bằng pin và in 3D.: 22 bước (có hình ảnh)](https://i.howwhatproduce.com/images/011/image-31992-j.webp)
Máy làm đá khô Ultimate - Điều khiển bằng Bluetooth, chạy bằng pin và in 3D. Gần đây, tôi cần một máy làm đá khô cho một số hiệu ứng sân khấu cho một buổi biểu diễn địa phương. Ngân sách của chúng tôi sẽ không kéo dài đến việc thuê một người chuyên nghiệp nên thay vào đó, đây là những gì tôi đã xây dựng. Nó chủ yếu được in 3D, được điều khiển từ xa qua bluetooth, pin sạc
Cách tạo máy bay không người lái bằng Arduino UNO. Tạo Quadcopter bằng Vi điều khiển: 8 bước (có Hình ảnh)
![Cách tạo máy bay không người lái bằng Arduino UNO. Tạo Quadcopter bằng Vi điều khiển: 8 bước (có Hình ảnh) Cách tạo máy bay không người lái bằng Arduino UNO. Tạo Quadcopter bằng Vi điều khiển: 8 bước (có Hình ảnh)](https://i.howwhatproduce.com/images/001/image-210-31-j.webp)
Cách tạo máy bay không người lái bằng Arduino UNO. Tạo Quadcopter bằng Vi điều khiển: Giới thiệuTruy cập kênh Youtube của tôi Một chiếc máy bay không người lái là một thiết bị (sản phẩm) rất đắt tiền để mua. Trong bài viết này, tôi sẽ thảo luận, làm thế nào tôi kiếm được nó với giá rẻ ?? Và làm thế nào bạn có thể tự làm như thế này với giá rẻ… Ở Ấn Độ tất cả các vật liệu (động cơ, ESC
Cách chế tạo một xe tăng Rc bằng kim loại mạnh mẽ: 6 bước (có hình ảnh)
![Cách chế tạo một xe tăng Rc bằng kim loại mạnh mẽ: 6 bước (có hình ảnh) Cách chế tạo một xe tăng Rc bằng kim loại mạnh mẽ: 6 bước (có hình ảnh)](https://i.howwhatproduce.com/images/003/image-7542-10-j.webp)
Làm thế nào để xây dựng một chiếc xe tăng Rc bằng kim loại mạnh mẽ: Những người bạn tốt! Vì vậy, tôi đã nghĩ về một loại dự án thú vị và tôi quyết định chế tạo một chiếc xe tăng (thu thập thông tin không gian) trên một tấm biển tất nhiên được làm hoàn toàn bằng kim loại. 100% Công trình của tôi có chất lượng và độ chính xác cao, hầu hết các bộ phận của ta
TRASH ROCKS - Loại bỏ Thùng rác không thể phân loại: 8 bước
![TRASH ROCKS - Loại bỏ Thùng rác không thể phân loại: 8 bước TRASH ROCKS - Loại bỏ Thùng rác không thể phân loại: 8 bước](https://i.howwhatproduce.com/preview/how-and-what-to-produce/11123564-trash-rocks-eliminate-unrecyclable-trash-8-steps-j.webp)
TRASH ROCKS - Loại bỏ Thùng rác Không thể phân loại: Để tạo thành một tảng đá rác, trước tiên, một bao tải được khâu ra khỏi lưới cá. Nó chứa đầy rác và trát bằng xi măng. Vỏ tạo thành có hình dạng độc đáo và trông rất tự nhiên. Đá rác là một