PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Xử lý ảnh (http://www.picvietnam.com/forum/forumdisplay.php?f=51)
-   -   Vấn đề thực hành xử lý ảnh (http://www.picvietnam.com/forum/showthread.php?t=349)

chungtanlam 21-03-2006 08:38 PM

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.

chungtanlam 29-03-2006 11:59 PM

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

volvo 13-04-2006 12:12 AM

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

imaging 13-04-2006 01:41 AM

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

chungtanlam 13-04-2006 06:02 PM

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ể.

volvo 08-05-2006 07:25 PM

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.

bachelor1979 10-06-2006 06:10 PM

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.

chungtanlam 18-06-2006 12:43 PM

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.

kiethnt 28-09-2006 12:49 AM

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

chungtanlam 28-09-2006 08:12 PM

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

xuanhaidt2 11-09-2007 08:52 AM

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!

nguyenmo2606 29-03-2011 11:43 AM

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?

lequangthanh 01-08-2011 05:01 PM

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!

haikv240987 18-12-2017 02:52 PM

xử lý điểm ảnh quan trọng nhất yếu tố nào hả các bác,


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

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam