Visual SLAMの第14回講座を学習する過程で、opencvの変更が必要な箇所が多かったので、いくつか情報を調べてまとめてみました。
OpenCV4.5 エラー エラー: ' CV_* ' はこのスコープで宣言されていませんでした 解決策の概要
- 1. CV_LOAD_IMAGE_UNCHANGED および CV_LOAD_IMAGE_COLOR
- 2.CV_AA
- 3. CV_CALIB_CB_ADAPTIVE_THRESH
- 4.CV_GRAY2BGR
- 5. CV_THRESH_BINARY_INV / CV_CHAIN_APPROX_SIMPLE / CV_RETR_CCOMP / CV_FONT_HERSHEY_SIMPLEX
- 6. CV_LOAD_IMAGE_GRAYSCALE
- 7. CV_FM_8POINT
- 8.CV_FILLED
- 9.CV_MINMAX
- 10.CV_RGB2GRAY
- 11. CV_ADAPTIVE_THRESH_MEAN_C
1. CV_LOAD_IMAGE_UNCHANGED および CV_LOAD_IMAGE_COLOR
エラー内容:
'CV_LOAD_IMAGE_UNCHANGED': 未宣言の識別子
エラー: 'CV_LOAD_IMAGE_COLOR' はこのスコープで宣言されていませんでした
解決:
//添加头文件
#include "opencv2/imgcodecs/legacy/constants_c.h"
2.CV_AA
エラー内容:
エラー: 'CV_AA' はこのスコープで宣言されていませんでした
解決:
//添加头文件
#include <opencv2/imgproc/imgproc_c.h>
3. CV_CALIB_CB_ADAPTIVE_THRESH
エラー内容:
エラー: 「CV_CALIB_CB_ADAPTIVE_THRESH」はこのスコープで宣言されていませんでした
解決:
//添加头文件
#include <opencv2/calib3d/calib3d_c.h>
4.CV_GRAY2BGR
エラー内容:
エラー: 'CV_GRAY2BGR' はこのスコープで宣言されていませんでした
解決:
- コードを変更する
//代码改为
cv::COLOR_GRAY2BGR
- ヘッダーファイルを追加する
//添加头文件
#include <opencv2/imgproc/types_c.h>
5. CV_THRESH_BINARY_INV / CV_CHAIN_APPROX_SIMPLE / CV_RETR_CCOMP / CV_FONT_HERSHEY_SIMPLEX
エラー内容:
エラー: 'CV_THRESH_BINARY_INV' はこのスコープで宣言されていません
エラー: 'CV_CHAIN_APPROX_SIMPLE' はこのスコープで宣言されていません
エラー: 'CV_RETR_CCOMP' はこのスコープで宣言されていません
エラー: 'CV_FONT_HERSHEY_SIMPLEX' はこのスコープで宣言されていません
解決:
//代码改为
cv::THRESH_BINARY_INV
cv::CHAIN_APPROX_SIMPLE
cv::RETR_CCOMP
cv::FONT_HERSHEY_SIMPLEX
6. CV_LOAD_IMAGE_GRAYSCALE
エラー内容:
エラー: 'CV_LOAD_IMAGE_GRAYSCALE' はこのスコープで宣言されていませんでした
解決:
//代码改为
cv::IMREAD_COLOR
7. CV_FM_8POINT
エラー内容:
エラー: 'CV_FM_8POINT' はこのスコープで宣言されていませんでした
解決:
- コードを変更する
//更改前
CV_FM_8POINTT
//更改后
FM_8POINT
- ヘッダーファイルを追加する
#include <opencv2/opencv.hpp>
8.CV_FILLED
エラー内容:
error: ‘CV_FILLED’ was not declared in this scope
解決:
// 添加头文件
#include <opencv2/imgproc/imgproc_c.h>
9.CV_MINMAX
エラー内容:
error: ‘CV_MINMAX’ was not declared in this scope
解決:
// 添加头文件
#include<opencv2/opencv.hpp>
10.CV_RGB2GRAY
エラー内容:
error: ‘CV_RGB2GRAY’ was not declared in this scope
解決:
// 添加头文件
#include <opencv2/highgui/highgui_c.h>
11. CV_ADAPTIVE_THRESH_MEAN_C
エラー内容:
error: ‘CV_ADAPTIVE_THRESH_MEAN_C’ was not declared in this scope
解決:
// 添加头文件
#include <opencv2/calib3d/calib3d_c.h>