OPENLAB-IMAGE PROCESSING

FREE KNOWLEDGE FOR ALL PEOPLE
 
IndexPortalCalendarTrợ giúpTìm kiếmThành viênNhómĐăng kýĐăng Nhập

Share | 
 

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

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
jackauk
Thành viên thường
avatar

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

Bài gửiTiêu đề: Những vấn đề thường gặp    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 ]

_________________
Em gọi ta khi mùa trăng đã dứt
Nắng nhạt phai, còn thanh xuân qua rồi.
Dĩ vãng êm đềm xin trôi, trôi mãi
Để ta lớn lên, bước về trời xa

Nếu một mai quay về còn gặp lại
Nửa đời thương nhớ, nửa đời vấn vương
Hoa kia xin cài vào miền quá khứ
Để nồng nàn góc phố ta gặp nhau.
Về Đầu Trang Go down
Xem lý lịch thành viên
jackauk
Thành viên thường
avatar

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

Bài gửiTiêu đề: Re: Những vấn đề thường gặp    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.

_________________
Em gọi ta khi mùa trăng đã dứt
Nắng nhạt phai, còn thanh xuân qua rồi.
Dĩ vãng êm đềm xin trôi, trôi mãi
Để ta lớn lên, bước về trời xa

Nếu một mai quay về còn gặp lại
Nửa đời thương nhớ, nửa đời vấn vương
Hoa kia xin cài vào miền quá khứ
Để nồng nàn góc phố ta gặp nhau.
Về Đầu Trang Go down
Xem lý lịch thành viên
 
Những vấn đề thường gặp
Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
OPENLAB-IMAGE PROCESSING :: PHÒNG HỌC TẬP :: HỎI ĐÁP VÀ TƯ VẤN-
Chuyển đến