OPENLAB-IMAGE PROCESSING
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Những vấn đề thường gặp OpenCV

Go down

Những vấn đề thường gặp OpenCV Empty Những vấn đề thường gặp OpenCV

Bài gửi by jackauk Wed Nov 25, 2015 12:57 pm

1/ Object is null
Lỗi này thường gặp khi các bạn chỉ vừa khai báo mà không khởi tạo giá trị thực thể cho những biến cần khởi tạo. C/C++ là ngôn ngữ biên dịch nghĩa là từ nhưng tập tin code bạn soạn ra trình biên dịch GL.exe của Visual Studio (WIndows OS) hay gcc của Linux OS sẽ biến nó thành một thứ gần với mã máy (mã hợp ngữ chẳng hạn) nên nó cần được chuẩn bị sẵn những khay nhớ có giá trị để sẵn sàng làm việc. Nó khác hoàn toàn với ngôn ngữ thông dịch.
Ví dụ với OpenCV3.0:
Code:
cv::Mat img ; // Khai báo
img =cv::Mat(cvSize(with,height),1,CV_8U); // Khởi tạo
cv::threshold(originalImage, img, 125,256,CV_THRES_BINARY);  // Sử dụng để phân ngưỡng
Cách sửa:
Biến nào cần khởi tạo thì phải được khởi tạo đúng lớp đúng kiểu của nó và đúng cả kiểu mà giá trị nó sẽ được trả về.
Ví dụ: với kết quả trả về chỉ có giá trị là 1 mảng kiểu nguyên 8 bit thì cần khởi tạo với CV_8UC nhưng với kiểu trả về là một mảng kiểu double do các các phép toán tính logarit chẳng hạn thì nó cần phải kiểu số thực với kiểu là CV_32F. vv..v.

2/ Treat Warning as Error
Những lỗi phía dưới xảy ra chủ yếu là do trình biên dịch bối rối khi biên dịch nhưng hàm dựng sẵn mà có nhiều phiên bản dành cho hệ điều hành 16bit 32bit, 64bit, hay là UNICODE hay NON UNICODE
1/
Code:
error C4996: 'GetVersionExA': was declared deprecated
error C4996: 'GetVersionExW' was declared deprecated

Cách sửa:

This is because SDL check, try to disable SDL checks:

Project Properties > Configuration Properties > C/C++ > General > SDL checks [set to No]

2/
Code:

error C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS
Cách sửa
Project Properties > Configuration Properties > C/C++ >Preprocessor>Preprocessor Definitions [thêm vào _CRT_SECURE_NO_WARNINGS ]

3/ LNK2005:    already defined in opencv_world300d.lib(opencv_world300d.dll)

Cách sửa
Linker>Command Line> Additional Option [thêm vào /FORCE:MULTIPLE ]
jackauk
jackauk
Thành viên thường

Tổng số bài gửi : 63
Điểm danh tiếng : 2
Join date : 16/08/2015
Age : 35
Đến từ : TP Hồ Chí Minh

Về Đầu Trang Go down

Những vấn đề thường gặp OpenCV Empty Re: Những vấn đề thường gặp OpenCV

Bài gửi by jackauk Thu Dec 17, 2015 4:22 pm

Update 1 lỗi, các bạn có lỗi nào mà hay gặp thì cứ việc post vào đây, mình sẽ update.
jackauk
jackauk
Thành viên thường

Tổng số bài gửi : 63
Điểm danh tiếng : 2
Join date : 16/08/2015
Age : 35
Đến từ : TP Hồ Chí Minh

Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết