PIC Vietnam

Go Back   PIC Vietnam > Robotics > Xử lý ảnh

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Tìm Kiếm Bài Trong Ngày Ðánh Dấu Ðã Ðọc Vi điều khiển

Xử lý ảnh Các thuật toán xử lý ảnh dùng trong robot

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 21-03-2006, 08:38 PM   #1
chungtanlam
Moderator
 
Tham gia ngày: Sep 2005
Bài gửi: 8
:
Vấn đề thực hành xử lý ảnh

1. Giới thiệu
Để có thể áp dụng xử lý ảnh trong các ứng dụng thực tế, trước tiên phải có các khái niệm cơ bản và thực hành nhiều các giải thuật về xử lý ảnh. Bài này trình bày một số vấn đề về phần cứng và công cụ lập trình cơ bản để có thể thực hành xử lý ảnh trong điều khiện tối thiểu là một chiếc máy vi tính và ,nếu có thể, một USB camera.

thay đổi nội dung bởi: chungtanlam, 14-03-2007 lúc 07:29 PM.
chungtanlam vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 29-03-2006, 11:59 PM   #2
chungtanlam
Moderator
 
Tham gia ngày: Sep 2005
Bài gửi: 8
:
2.2 Ảnh 24-bit color
*(RGB_Image + i), *(RGB_Image + i + 1) và *(RGB_Image + i + 2)
Trong đó: i=(unsigned long)(row*3*W + 3*col);

2.3 Threshold

Pseudocode như sau:
for(row = 0; row < H; row++) {
for(col = 0; col < W; col++) {
if(pixel[row, col] < thresholdValue)
pixel[row, col] = 0;// make pixel black
else
pixel(row, col) = 255;// make pixel white
}
}

Bài viết này tạm dừng một thời gian dài, vì đang tập trung soạn một vài giáo trình khác.
Xin lỗi các thành viên

thay đổi nội dung bởi: chungtanlam, 14-03-2007 lúc 07:34 PM.
chungtanlam vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 13-04-2006, 12:12 AM   #3
volvo
Nhập môn đệ tử
 
Tham gia ngày: Mar 2006
Bài gửi: 7
:
Thực tế với 1 camera (hoặc webcam) mà Windows nhận ra được (có driver) thì hoàn toàn có thể lập trình được mà không cần bộ SDK của camera. Chúng ta có thể lập trình thông qua Direct X. Tài liệu các bạn có thể tham khảo 1 cuốn (mình ko nhớ tên) của nhà xuất bản Minh Khai.

Mình hay sử dụng Image Acquisition Toolbox trong Matlab.
Các bạn có thể tìm hiểu ở đây :http://www.mathworks.com/access/help...maq/index.html
volvo vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 13-04-2006, 01:41 AM   #4
imaging
Nhập môn đệ tử
 
Tham gia ngày: Mar 2006
Bài gửi: 6
:
Trích:
Nguyên văn bởi volvo
Thực tế với 1 camera (hoặc webcam) mà Windows nhận ra được (có driver) thì hoàn toàn có thể lập trình được mà không cần bộ SDK của camera. Chúng ta có thể lập trình thông qua Direct X. Tài liệu các bạn có thể tham khảo 1 cuốn (mình ko nhớ tên) của nhà xuất bản Minh Khai.
http://dientuvietnam.net/forums/showthread.php?t=2003
imaging vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 13-04-2006, 06:02 PM   #5
chungtanlam
Moderator
 
Tham gia ngày: Sep 2005
Bài gửi: 8
:
Bạn nói đúng đó, tuy nhiên vấn đề ở đây là hình ảnh và tốc độ của Logitech 4000 lập trình với SDK thì rất chất lượng. Nếu dùng camera này với DiectX thì tốc độ có thể chậm hơn khoảng 20% (anh có thử nhưng không có thời gian đánh giá tìm nguyên nhân). Ngoài ra, các bạn cũng có thể dùng Image Acquisition Toolbox trong Matlab như volvo đã sử dụng, nhưng vì anh lập trình ứng dụng camera rồi sao đó điều khiển một cơ cấu chấp hành nào đó nữa, ví dụ một tay máy thông qua một USB-CAN controller hay thông qua RS232 và từ đó có thể đánh giá hệ thống từ lúc lúc capture một ảnh, xử lý ảnh cho đến khi hoàn tất một tác vụ điều khiển đó, nên anh thường hay dùng Visual C++6. Anh thấy nếu thực hành với hình ảnh đẹp và tốc độ cao và phù hợp với hướng phát triển của mình thi vẫn thấy thích hơn phải không. Nói chung, đây chỉ là gợi ý của anh để bài viết được đẹp và suông sẽ về nội dung lẫn thực hành về xử lý ảnh. Các bạn có thể tìm cách khác để thực hiện mục đích của mình tùy theo hoàn cảnh cụ thể.

thay đổi nội dung bởi: chungtanlam, 13-04-2006 lúc 06:44 PM.
chungtanlam vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 08-05-2006, 07:25 PM   #6
volvo
Nhập môn đệ tử
 
Tham gia ngày: Mar 2006
Bài gửi: 7
:
Trích:
Nguyên văn bởi chungtanlam
Bạn nói đúng đó, tuy nhiên vấn đề ở đây là hình ảnh và tốc độ của Logitech 4000 lập trình với SDK thì rất chất lượng. Nếu dùng camera này với DiectX thì tốc độ có thể chậm hơn khoảng 20% (anh có thử nhưng không có thời gian đánh giá tìm nguyên nhân). Ngoài ra, các bạn cũng có thể dùng Image Acquisition Toolbox trong Matlab như volvo đã sử dụng, nhưng vì anh lập trình ứng dụng camera rồi sao đó điều khiển một cơ cấu chấp hành nào đó nữa, ví dụ một tay máy thông qua một USB-CAN controller hay thông qua RS232 và từ đó có thể đánh giá hệ thống từ lúc lúc capture một ảnh, xử lý ảnh cho đến khi hoàn tất một tác vụ điều khiển đó, nên anh thường hay dùng Visual C++6. Anh thấy nếu thực hành với hình ảnh đẹp và tốc độ cao và phù hợp với hướng phát triển của mình thi vẫn thấy thích hơn phải không. Nói chung, đây chỉ là gợi ý của anh để bài viết được đẹp và suông sẽ về nội dung lẫn thực hành về xử lý ảnh. Các bạn có thể tìm cách khác để thực hiện mục đích của mình tùy theo hoàn cảnh cụ thể.
Anh chungtanlam có thể gửi cho em chương trình nguồn được không. Email của em là beobeu@yahoo.com. Cảm ơn anh.
volvo vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 10-06-2006, 06:10 PM   #7
bachelor1979
Đệ tử 1 túi
 
Tham gia ngày: Jun 2006
Bài gửi: 20
:
Bạn đã thử các tool xử lý và nhận dạng ảnh của LabVIEW chưa ? Rất mạnh và chuyên nghiệp đấy, tính mở của chúng cũng cao và rất thích hợp cho các bài toán công nghiêp.
bachelor1979 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-06-2006, 12:43 PM   #8
chungtanlam
Moderator
 
Tham gia ngày: Sep 2005
Bài gửi: 8
:
Trích:
Anh chungtanlam có thể gửi cho em chương trình nguồn được không. Email của em là beobeu@yahoo.com. Cảm ơn anh.
Anh dang o Han Quoc co cong viec mot chut, khi nao ve anh se tim lai tren dia cung va gui cho em.
chungtanlam vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 28-09-2006, 12:49 AM   #9
kiethnt
Nhập môn đệ tử
 
Tham gia ngày: Sep 2006
Bài gửi: 7
:
can giup do

Em da doc bai viet tren forum, va hien nay em cung dang lam de tai co su dung camera de capture hinh anh, hinh anh nay se truyen den 1 PC co su dung SDK kem theo, nhiem vu cua em la viet 1 chuong trinh bang VS C++ de lay dât cua Image cu the la toa do cac diem tren vat the. Tu giao dien viet bang VC++ data se duoc truyen den Robot controller. Anh co the giu Source code chuong trinh ma anh noi de em tham khao duoc khong, hoac pots len forum. Cam on nhieu
Email:kiethnt@yahoo.com
kiethnt vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 28-09-2006, 08:12 PM   #10
chungtanlam
Moderator
 
Tham gia ngày: Sep 2005
Bài gửi: 8
:
Em co the tham khao trang nay de viet giao tiep Logitech camera dung Visual C++ va ap dung giai thuat xu ly anh co ban
http://www.boondog.com/tutorials/tri...dBinarize.html
chungtanlam vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 11-09-2007, 08:52 AM   #11
xuanhaidt2
Nhập môn đệ tử
 
Tham gia ngày: Sep 2005
Bài gửi: 2
:
Anh chungtanlam oi, anh còn mã nguồn của mấy cái này không ?
Làm ơn share cho em với. em đang nghiên cứu về xử lý ảnh số.
Email của em: xuanhaidt2@yahoo.com. Cảm ơn anh trước nha!
xuanhaidt2 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 29-03-2011, 11:43 AM   #12
nguyenmo2606
Nhập môn đệ tử
 
Tham gia ngày: Mar 2011
Bài gửi: 2
:
anh ơi anh có thể giải thich rõ cho em biết mục đích của tách ngưỡng tự động và cân bằng lược đỗ xám là gì hok?
nguyenmo2606 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-08-2011, 05:01 PM   #13
lequangthanh
Đệ tử 1 túi
 
Tham gia ngày: Jun 2011
Bài gửi: 22
:
trong một tấm ảnh xám(ảnh trắng đen 8 bit) ,khi bạn muôn s tách một đối tượng trong ảnh đó ra ,cái bạn càn là một ngưỡng giá trị 8 bít(0->255) ,ví dụ tôi đưa ra một ngưỡng 128,và tôi dò trên ma trận ảnh,giá trị nào nhỏ hơn hoặc bằng giá trị này,tôi cho nó là đối tương(mức 1),còn những giá trị nào lớn hơn,tôi coi nó là nền(mức 0).sau khi làm điều này ta sẽ có một tấm ảnh mới ,gọi là ảnh nhị phân,chỉ có hai giá trị là nền và đối tượng(ảnh 1 bit)

ngưỡng này có ý nghĩa và tốt trên một tấm ảnh cụ thể,nếu xảy ra nhiểu,ngưỡng này sẽ thay đôi,và việc tách đối tượng bằng cách dùng ngưỡng cố định như vậy sẽ không còn chính xác,người ta mong muốn tìm ra một thuật toán có thể xác định ngưỡng một cách tự dộng để ứng với bất kỳ tấm ảnh nào việc tách đối tượng luôn chính xác.

tuy nhiên xử lý ảnh là môn khoa học thực nghiệm,nó không có một quy luật cụ thể nào,cho tới nay thì vẫn chưa có một thuật toán phân ngưỡng nào hoàn toàn thật hiêu quả.

thay vào đó người ta cố gắng tăng cường,phục hồi chất lượng tấm ảnh(tiền xử lý) để có thể có một tấm ảnh có chất lượng ổn định(khử nhòe,khử nhiễu,cân bằng....)


còn việc cân bằng lược đồ xám là như thế này:
thế nào là lược đồ xám:nó nói đến ảnh 8 bít,vì ảnh này là ảnh xám,mỗi giá trị của điểm ảnh là một giá trị thập phân nằm trong khoảng 0-255 tương ứng với việc từ màu trắng tới màu đen người ta chia ra 255 mức khác nhau,trên mối pixel(điểm ảnh) sẽ có 256 điểm màu nhỏ,nếu giá trị của điểm ảnh là 134 thì trong pixel đó sẽ có 134 ô có màu đen
ý nghĩa của lược đồ xám:nó là một biểu đồ cho biết sự phân bố của giá trị điểm ảnh:
ví dụ:
tối có một tấm ảnh kích thước 10x10=100pixel với lược đồ xám như sau:

số điểm ảnh có giá trị 0: 1 diểm ảnh
---------------------1: 4 điểm ảnh
---------------------2: 6 diểm ảnh
---------------------3: 0 điểm ảnh
----------------------------------
--------------------------------
---------------------255: 18 điểm ảnh.
tổng giá trị điểm ảnh là 100,
như vậy nhìn trên lược đồ xám ta có thể biết sự phân bố mức xám trên tấm ảnh:
ví dụ nếu số pixel phân bố nhiều ở mức xám 0-100:ta nói ảnh bị chói
nếu số pixel phân bố nhiều ở mức xám 150-255:ta nói ảnh bị tối,
việc cân bằng lược đồ xám là ta sẽ dùng các thuật toán để làm cho sự phân bố điểm ảnh trải đều trên các mức xám từ 0-255.

xử lý ảnh có thể là xỷ lý trên ma trận điểm ảnh ,và cũng có thể xử lý trên sự phân bố điểm ảnh để tìm ra khoảng phân bố mức xám nào là phân bố của đối tượng.


tất cả các thuật toán làm các việc trên,matlab đều hộ trợ.công việc của bạn là tìm hiểu ý nghĩa và cách xử dụng nó.
mong giúp ích được cho bạn!
lequangthanh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-12-2017, 02:52 PM   #14
haikv240987
Nhập môn đệ tử
 
Tham gia ngày: Dec 2017
Bài gửi: 2
:
xử lý điểm ảnh quan trọng nhất yếu tố nào hả các bác,
haikv240987 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời

Ðiều Chỉnh
Xếp Bài

Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 03:17 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam