Nguyên văn bởi xuanlai
Xem bài viết
Hỏi về xử lý ảnh Opencv và điều khiển động cơ qua cổng RS232
Collapse
X
-
Chọn build trong chế độ debug để biết nó lỗi ở chỗ nào. Ý bạn viết chung trên MFC có nghĩa là gì ? Nếu bạn dùng nhiều projects trong một solution mà project nọ ảnh phụ thuộc vào project kia thì có thể ứng dụng của bạn sẽ xung đột. Có thể nêu lên cách tổ chức project của bạn không ?
-
Để mình nói rõ hơn tí.
Đề tài của mình là dùng động cơ servo điều khiển camera bám theo đối tượng sao cho khi đối tượng di chuyển thì camera quay theo để đối tượng nằm giữa màn hình ( mình chỉ xử lý 1 chiều theo trục x).
Mình viết 1 MFC truyền thông RS232 như TUT của anh Ngô Hải Bắc đã hướng dẫn, truyền tốt, mình cũng viết 1 MFC khác(2 cái này không cùng project chỉ dùng để chạy thử chúng hoạt động thế nào thôi). Vì mình cần truyền xung cho VDK điều khiển servo quay nên phải dùng RS232 vào cái MFC xử lý ảnh, nghĩa là mình add thêm Microsoft Communication Control 6.0 vào, thêm 1 số hàm xử lý nữa. Mình đã làm nhiều lần, ( build và excute từng bước) cũng kiểm tra kỹ mỗi khi add Communication Control vào ( cái biểu tượng điện thoại màu vàng ấy) MFC trên thì build ko có error, nhưng excute ko chạy ứng dụng. Mình cũng đã thử viết RS232 trước rồi thêm các hàm xử lý ảng sau thì cũng bị tương tự mặc dù mình chỉ thêm 1 câu lệnh như sau : cvNamedWindow("source",0) vào hàm OnInitDlg() hay bất cứ hàm nào khác. Không biết bạn đã hiểu ý mình chưa?|
Comment
-
Vậy là không phải phải như tôi nghĩ. Phần truyền thông RS232 không ảnh hưởng. Vấn đề là ở hàm cvNamedWindow. Nếu bạn dùng ứng dụng kiểu Dialog-based thì tại sao lại phải dùng cvNamedWindow ? Và hàm cvNamedWindow sẽ chỉ có ý nghĩa nếu bạn bạn gọi tiếp hàm cvShowImage. Bạn thử gọi hàm này sau hàm cvNamedWindow xem sao ? Chú ý các tham số của nó.
Nếu bạn dùng Dialog-based thì nên dùng với DirectShow như link dưới đây:
Last edited by compvis; 11-11-2010, 20:36.
Comment
-
Có lẽ bạn không hiểu ý mình lắm. Mình gửi cái project đơn giản sau để nếu rảnh bạn có thể kiểm tra dùng mình:Nguyên văn bởi compvis Xem bài viếtVậy là không phải phải như tôi nghĩ. Phần truyền thông RS232 không ảnh hưởng. Vấn đề là ở hàm cvNamedWindow. Nếu bạn dùng ứng dụng kiểu Dialog-based thì tại sao lại phải dùng cvNamedWindow ? Và hàm cvNamedWindow sẽ chỉ có ý nghĩa nếu bạn bạn gọi tiếp hàm cvShowImage. Bạn thử gọi hàm này sau hàm cvNamedWindow xem sao ? Chú ý các tham số của nó.
Nếu bạn dùng Dialog-based thì nên dùng với DirectShow như link dưới đây:
http://www.dientuvietnam.net/forums/...ll=1#post61278
http://www.mediafire.com/?p69p9cdd5lt74rd
Cái project taolao đó mình chỉ đơn giản làm 2 việc sau:
1. Tạo 1 cái dialog-based và add Communication Control 6.0 vào
2.Viết thêm câu lệnh cvNamedWindow("source",0) vào hàm OnInitDlg().
Kết quả là ko excute dc
Mình xóa câu lệnh trên hoặc xóa cái Communication Control kia đi thì excute dc
Cái lỗi này nó kỳ kỳ làm sao,ko hiểu nổi.
Đúng là hàm cvNamedWindow chỉ có ý nghĩa khi có hàm cvShowImage nhưng nếu mình chỉ sử dụng hàm cvNamedWindow ko thì nó sẽ tạo ra 1 cửa sổ mà ko có image trong đó.Mình đã thử rồi.
Bạn giúp mình thử nhé.
Cảm ơn nhiềuLast edited by xuanlai; 12-11-2010, 16:53.|
Comment
-
Nguyên văn bởi xuanlai Xem bài viếtCảm ơn bạn!
Mình đã cài lại VS 6.0 nhưng vẫn không dc. Có lẽ tìm phiên bản khác thôi
Vấn đề của bạn xuanlai là không biết dùng MFC chứ không phải ở chương trình
PS: Đúng không xuanlai
Bể học vô biên
Comment
-
@xuanlai:Nguyên văn bởi xuanlai Xem bài viếtMình đã thử cài lại VS6 khác và OpenCV 1.1 luôn,giờ thì chạy ổn. Không biết bị cái quái gì.
Xuanlai làm đề tài thực hiện xử lý ảnh của bạn là gì vậy
Bể học vô biên
Comment
-
Đề tài mình dùng webcam xoay đc nhờ DC servo bám theo đối tượng chuyển động,mình dùng phương pháp trừ 2 frame kề nhau rồi xác định tâm của sự dịch chuyển, sau đó tùy vào lệch trái hay lệch phải mà điều khiển servo xoay theo.Tới giờ này thì đã chạy dc nhưng tốc độ còn chậm và servo quay chưa trơn tru lắm.|
Comment
-
Oh !Nguyên văn bởi xuanlai Xem bài viếtĐề tài mình dùng webcam xoay đc nhờ DC servo bám theo đối tượng chuyển động,mình dùng phương pháp trừ 2 frame kề nhau rồi xác định tâm của sự dịch chuyển, sau đó tùy vào lệch trái hay lệch phải mà điều khiển servo xoay theo.Tới giờ này thì đã chạy dc nhưng tốc độ còn chậm và servo quay chưa trơn tru lắm.
Đề tài của bạn rất hay !
Mình chờ xem kết quả của ban
Goodluck thân!Bể học vô biên
Comment
-
Mình nghĩ bạn nên dùng Camshift, có ví dụ sẵn trong phần sample của OpenCV.Ngoài ra nếu lập trình ứng dụng GUI nên dùng QT, mình thấy dễ dùng hơn MFC, QT còn ứng dụng trên 1 số hệ điều hành linux nhúng nữaNguyên văn bởi xuanlai Xem bài viếtĐề tài mình dùng webcam xoay đc nhờ DC servo bám theo đối tượng chuyển động,mình dùng phương pháp trừ 2 frame kề nhau rồi xác định tâm của sự dịch chuyển, sau đó tùy vào lệch trái hay lệch phải mà điều khiển servo xoay theo.Tới giờ này thì đã chạy dc nhưng tốc độ còn chậm và servo quay chưa trơn tru lắm.Email:
Skype: thanhtruong0315
Comment
-
Mình cũng bị lỗi giống vậy, không biết đã làm sai ở bước nào.Nguyên văn bởi compvis Xem bài viết@xuanlai: dự án của bạn như thế nào, tôi không thay đổi. Mở dialog ra thì có điều khiển MSCOMM trên dialog rồi. Khẳng định với bạn một lần nữa là dự án hoàn toàn bình thường.

Mình viết chương trình XLA bằng MFC , chạy ngon rồi, giờ cứ đưa MScomm (biểu tượng điện thoại ) vào là lỗi như dưới đây( mình đã register cho MSCOMM32.OCX rùi nhé )

Thử viết 1 chương trình khác để test MScomm, nối tắt chân 2 với chân 3 , truyền nhận ngon, rùi thêm đúng mấy dòng
#include "cv.h"
#include "highgui.h"
CvCapture *capture=cvCaptureFromCAM(0); tới dòng này là lại lỗi như trên.
Ai biết xử lý lỗi này giúp mình với.Loay hoay với nó mãi mà chưa ổn.
Thanks.
Comment
Bài viết mới nhất
Collapse
-
bởi domar123Trong môi trường vận hành kinh doanh và công việc văn phòng hằng ngày, tính ổn định, độ bền bỉ và chi phí đầu tư luôn là những ưu tiên hàng đầu. Bộ vi xử lý AMD Athlon 3000G cùng phiên bản Athlon 3000G MPK mang lại giải pháp máy tính phổ...
-
Channel: Đánh giá sản phẩm DTVN
Hôm qua, 10:53 -
-
bởi ittcCác bác ơi, có người bày em là nên đăng ký học qua thầy, thầy sẽ nhiệt tình hơn rồi thầy quen biết trong giới thi dễ đậu hơn bla bla, nhưng đã có nhiều vụ thầy nhận tiền xong trốn luôn, hoặc giữa thầy và trung tâm không đồng nhất...-
Channel: Tâm tình dân kỹ thuật
20-08-2026, 19:27 -
-
-
bởi domar123Giải pháp build PC thông minh cho game thủ thực dụng
Khi tự lắp một bộ PC chơi game với ngân sách có hạn, việc chi tiêu hợp lý từng đồng là chìa khóa để đạt hiệu năng thực tế cao nhất. Sử dụng các vi xử lý tích hợp đồ...-
Channel: Đánh giá sản phẩm DTVN
20-08-2026, 10:00 -
-
bởi domar123Giải pháp cho dàn PC cao cấp chơi game và làm việc
Khi xây dựng một bộ máy tính cao cấp, việc chọn đúng vi xử lý và card đồ họa sẽ quyết định trực tiếp đến trải nghiệm thực tế của bạn. Dòng chip AMD trang bị công nghệ...-
Channel: Đánh giá sản phẩm DTVN
18-08-2026, 08:55 -
-
bởi domar123Giải pháp toàn diện cho người dùng đa nhiệm
Nếu bạn đang cần một bộ máy vừa phục vụ công việc chuyên môn nặng vừa đáp ứng nhu cầu giải trí cao cấp, sự kết hợp giữa Ryzen 9 9950X TRAY và Radeon RX 9070 XT 16GB là lựa chọn...-
Channel: Đánh giá sản phẩm DTVN
17-08-2026, 17:12 -
-
bởi lvhnKhác nhau là đi lái thuê hoặc chạy dịch vụ được
...
-
Channel: Tâm tình dân kỹ thuật
17-08-2026, 15:50 -
-
bởi ittcHic, sao nhiều anh em khuyên là đàn ông đã học thì học luôn số sàn chứ đừng học số tự động anh....-
Channel: Tâm tình dân kỹ thuật
16-08-2026, 17:46 -
-
bởi mèomướp1. Tìm hiểu đc thì càng tốt, bận thì thôi. Ko cần quá quan trọng
2. Số tự động cho đơn giản, kiểu như đi xe ga ấy ạ
3. Học lý thuyết tử tế ok
4.ok
5.có. đủ số km, tgian cầm lái là đc
6.đi ăn tập thể,...-
Channel: Tâm tình dân kỹ thuật
14-08-2026, 16:34 -


Comment