PDA

View Full Version : Bám theo đối tượng di động


tranhuuduy1981
01-10-2007, 11:49 AM
Chào các Bác!
Cách đây mấy hôm em nhờ các bác giúp đỡ em phần này nhưng chắc trúng ngày nghỉ nên chưa được bác nào giúp đỡ. Em đang làm một đề tài như thế này: Dùng một digital Camera để quay một đối tượng. Sau đó vẽ một hình chữ nhật lên một đối tượng cần theo dõi. Khi đối tượng di chuyển thì điều khiển camera quay theo. Em không lập trình bằng Visual C++ được mà chỉ sử dụng Visual Basic được thôi. Em đã sử dụng các hàm trong VFW(Video For Window) và capture được hình ảnh tử camera nhưng không làm sao vẽ được một hình chữ nhật lên đối tượng cần theo dõi để áp dụng thuật toán Mean-Shift. Mong các bác chỉ cho em với.

svn
15-01-2008, 11:48 AM
Giống thế này à :D
http://www.youtube.com/watch?v=FMhcmiQwEns

bakabond
27-02-2008, 11:40 PM
Bạn có thể dùng OpenCV . Trong đó nó cung cấp nhiều tính năng lắm . Chỉ cần đọc kĩ định dạng IplImage là có thể vẽ hình chữ nhật được rồi .

Thân.

Friends2014
06-04-2009, 12:27 AM
Em cũng đang làm về xla chuyển động, và cũng đang mắc ở chỗ này. Nhưng mình dùng Matlab. Bác nào biết giúp mình dc ko?Thanks.

hoangsonk49
25-08-2009, 02:40 PM
Chào các Bác!
Cách đây mấy hôm em nhờ các bác giúp đỡ em phần này nhưng chắc trúng ngày nghỉ nên chưa được bác nào giúp đỡ. Em đang làm một đề tài như thế này: Dùng một digital Camera để quay một đối tượng. Sau đó vẽ một hình chữ nhật lên một đối tượng cần theo dõi. Khi đối tượng di chuyển thì điều khiển camera quay theo. Em không lập trình bằng Visual C++ được mà chỉ sử dụng Visual Basic được thôi. Em đã sử dụng các hàm trong VFW(Video For Window) và capture được hình ảnh tử camera nhưng không làm sao vẽ được một hình chữ nhật lên đối tượng cần theo dõi để áp dụng thuật toán Mean-Shift. Mong các bác chỉ cho em với.

Mình cũng đang làm về Xử lý ảnh, vấn đề mà bạn đặt ra gôm 2 bước:
- Detect dc Moving object
- Sau đó là Tracking dc object đó
Còn sau khi đã có dữ liệu về object đó, tức là bám dc vị trí của nó thì bạn có thể dựa vào vị trí đó để điều khiển camera quay về hướng đó.
- Về detect, trước tiên bạn phải dùng thuật toán GMM để xây dựng được background. Sau khi có background, bạn sẽ tách dc đối tượng là foreground. Đó là detect
- Về tracking, bạn có thể dùng Histogram, Kalman filter, K-mean và Connected Component Labing.
Mình đã thực hiện dc toàn bộ việc trạcking bằng C++ (Vì GS nói rằng bọn Industry không thik Matlab).
Còn như bạn nói là vẽ dc hình chữ nhật xung quanh vật cần theo dõi thì đó chỉ là một bước hiển thị rất đơn giản, sau khi bạn đã tracking dc vật thể, bạn sẽ tính dc tâm và viền của vật thể, lúc đó chỉ cần một lệnh SetPixelV một hình quanh tâm và viền đó là xong, bạn có thể tìm một số paper IEEE PAMI, có rất nhiều bài nói về các thuật toán trên. Tuy nhiên mình khuyên bạn trc khi đi vào cụ thể nên tìm hiểu kết cấu chung của chương trình nhằm có một cái nhìn tổng quát, khi đó lúc viết chương trình sẽ gọn và đỡ rắc rối, phức tạp

harakiri
20-10-2009, 02:10 AM
À, mình đang làm bám theo đối tượng di động,sử dụng CMUcam2. Theo mình được đọc thì vấn đề xử lý ảnh CMU đã làm cho mình. Phần còn lại, xử lý tín hiệu để Robot bám theo đối tượng thì mình đang bế tắc. Ai có thể cho mình vài gợi ý với.

vagabondtt1503
21-10-2009, 01:41 AM
Bạn có thể dùng CAMSHIFT

18031984
19-12-2009, 09:13 PM
cho em hỏi?
có ai dùng VB6.0 và OpenCV đẻ làm xử lý ảnh chưa?
ai làm rồi xin chỉ giúp em với em đang nghiên cứu mà không biết làm thế nào?

JugiOh1412
16-05-2010, 11:38 PM
Mình cũng đang làm về Xử lý ảnh, vấn đề mà bạn đặt ra gôm 2 bước:
- Detect dc Moving object
- Sau đó là Tracking dc object đó
Còn sau khi đã có dữ liệu về object đó, tức là bám dc vị trí của nó thì bạn có thể dựa vào vị trí đó để điều khiển camera quay về hướng đó.
- Về detect, trước tiên bạn phải dùng thuật toán GMM để xây dựng được background. Sau khi có background, bạn sẽ tách dc đối tượng là foreground. Đó là detect
- Về tracking, bạn có thể dùng Histogram, Kalman filter, K-mean và Connected Component Labing.
Mình đã thực hiện dc toàn bộ việc trạcking bằng C++ (Vì GS nói rằng bọn Industry không thik Matlab).
Còn như bạn nói là vẽ dc hình chữ nhật xung quanh vật cần theo dõi thì đó chỉ là một bước hiển thị rất đơn giản, sau khi bạn đã tracking dc vật thể, bạn sẽ tính dc tâm và viền của vật thể, lúc đó chỉ cần một lệnh SetPixelV một hình quanh tâm và viền đó là xong, bạn có thể tìm một số paper IEEE PAMI, có rất nhiều bài nói về các thuật toán trên. Tuy nhiên mình khuyên bạn trc khi đi vào cụ thể nên tìm hiểu kết cấu chung của chương trình nhằm có một cái nhìn tổng quát, khi đó lúc viết chương trình sẽ gọn và đỡ rắc rối, phức tạp

cho mình hỏi mục đích của biến đổi wallet làm j vậy bạn,thanks

nvdangdt1k52
14-09-2010, 11:34 PM
mình đang phải làm đề tài xử lí ảnh .đề tai của mình là từ 1 đoạn video mp4 minh phải tách ra đươc các khung ảnh , và so sánh khung ảnh sau với khung ảnh phía trước .giúp mình xem minh phải bắt đầu từ đâu .mình chưa biết tí j về xla

dinhminh09
15-09-2010, 07:33 PM
bác nào muống làm được cái này thì phải nắm rất rò về matlap, vb, vdk, nếu nắng được thì mới ok. nhưng có cái là chi phí làm nó chắc chẵng rẽ một chút nào .
mình có một it tai liêu về matlap gởi lên các bạn tham khảo sau

121388th
17-09-2010, 09:52 PM
em muon hoc ve VB lam nhung kho biet bat dau tu dau !!
ai co con dg nao hoc nhanh thi chi giup e dc kho ah
cam on nhieu nhieu ah !!

nova_ck
06-10-2010, 09:39 PM
Mình đang phải làm về Stereovision , từ 2 ảnh camera trái , phải tính ra Disparity Map .
Mình đã hoàn thành xong code trên Matlab , giờ phải chuyển qua C++ , đang mày mò OpenCV toát mồ hôi :(

herrtien
25-10-2010, 11:46 PM
http://www.youtube.com/watch?v=SRNz5k7Yzvk

xuanducdhcn
27-10-2010, 08:51 PM
Đây là kết quả thực hiện của mình mọi người down về chay thử và nhận xét nhé !
Các bạn dùng chuột để select một đối tượng bất kỳ để theo dõi thuật toán mình sử dụng là
Camshift.
Trong project này mình dùng OpenCV theo dõi đối tượng sau đó gửi kết quả xuống cho pic16f877a điều khiển.

nếu gửi ký tự: 't' -> robot đi thẳng.
: 'r' -> robot rẽ phải.
: 'l' -> robot rẽ trái.

http://www.mediafire.com/?yw41564in7vuy9i

thanh_intel
25-12-2010, 04:10 AM
[QUOTE=xuanducdhcn;39654]Đây là kết quả thực hiện của mình mọi người down về chay thử và nhận xét nhé !
Các bạn dùng chuột để select một đối tượng bất kỳ để theo dõi thuật toán mình sử dụng là
Camshift.
Trong project này mình dùng OpenCV theo dõi đối tượng sau đó gửi kết quả xuống cho pic16f877a điều khiển.

nếu gửi ký tự: 't' -> robot đi thẳng.
: 'r' -> robot rẽ phải.
: 'l' -> robot rẽ trái.

http://www.mediafire.com/?yw41564in7vuy9iQUOTE]
Bạn có thể gửi cho mình ít tài liệu về vaans đề này được không.Mình cũng đang nghiên cứu về XLA dùng OnpenCV và C++ nhưng chưa biết nhiều.mong bạn chỉ giáo.Thanks so much!