You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# g++ -o DetectText TextDetection.cpp FeaturesMain.cpp -lopencv_core -lopencv_highgui -lopencv_imgproc -I/path/to/current/directory
TextDetection.cpp: In function ‘std::vector<std::pair<cv::Point_<int>, cv::Point_<int> > > DetectText::findBoundingBoxes(std::vector<std::vector<DetectText::SWTPoint2d> >&, std::vector<DetectText::Chain>&, std::vector<std::pair<DetectText::SWTPoint2d, DetectText::SWTPoint2d> >&, cv::Mat&)’:
TextDetection.cpp:63:16: error: ISO C++ forbids declaration of ‘chainit’ with no type [-fpermissive]
for (auto& chainit : chains) {
^
TextDetection.cpp:63:26: error: range-based ‘for’ loops are not allowed in C++98 mode
for (auto& chainit : chains) {
^
TextDetection.cpp:68:61: error: request for member ‘components’ in ‘chainit’, which is of non-class type ‘int’
for (std::vector<int>::const_iterator cit = chainit.components.begin(); cit != chainit.components.end(); cit++) {
^
TextDetection.cpp:68:96: error: request for member ‘components’ in ‘chainit’, which is of non-class type ‘int’
for (std::vector<int>::const_iterator cit = chainit.components.begin(); cit != chainit.components.end(); cit++) {
^
TextDetection.cpp: In function ‘std::vector<std::pair<cv::Point_<int>, cv::Point_<int> > > DetectText::findBoundingBoxes(std::vector<std::vector<DetectText::SWTPoint2d> >&, cv::Mat&)’:
TextDetection.cpp:86:16: error: ISO C++ forbids declaration of ‘compit’ with no type [-fpermissive]
for (auto& compit : components) {
^
TextDetection.cpp:86:25: error: range-based ‘for’ loops are not allowed in C++98 mode
for (auto& compit : components) {
^
TextDetection.cpp:91:20: error: ISO C++ forbids declaration of ‘it’ with no type [-fpermissive]
for (auto& it : compit) {
^
TextDetection.cpp:91:25: error: range-based ‘for’ loops are not allowed in C++98 mode
for (auto& it : compit) {
^
TextDetection.cpp:92:37: error: request for member ‘y’ in ‘it’, which is of non-class type ‘int’
miny = std::min(miny,it.y);
^
TextDetection.cpp:93:37: error: request for member ‘x’ in ‘it’, which is of non-class type ‘int’
minx = std::min(minx,it.x);
^
TextDetection.cpp:94:37: error: request for member ‘y’ in ‘it’, which is of non-class type ‘int’
maxy = std::max(maxy,it.y);
^
TextDetection.cpp:95:37: error: request for member ‘x’ in ‘it’, which is of non-class type ‘int’
maxx = std::max(maxx,it.x);
^
TextDetection.cpp: In function ‘void DetectText::renderComponents(const cv::Mat&, std::vector<std::vector<DetectText::SWTPoint2d> >&, cv::Mat&)’:
TextDetection.cpp:144:13: error: ISO C++ forbids declaration of ‘component’ with no type [-fpermissive]
for (auto& component : components) {
^
TextDetection.cpp:144:25: error: range-based ‘for’ loops are not allowed in C++98 mode
for (auto& component : components) {
^
TextDetection.cpp:145:20: error: ISO C++ forbids declaration of ‘pit’ with no type [-fpermissive]
for (auto& pit : component) {
^
TextDetection.cpp:145:26: error: range-based ‘for’ loops are not allowed in C++98 mode
for (auto& pit : component) {
^
TextDetection.cpp:146:34: error: request for member ‘y’ in ‘pit’, which is of non-class type ‘int’
output.at<float>(pit.y, pit.x) = SWTImage.at<float>(pit.y, pit.x);
^
TextDetection.cpp:146:41: error: request for member ‘x’ in ‘pit’, which is of non-class type ‘int’
output.at<float>(pit.y, pit.x) = SWTImage.at<float>(pit.y, pit.x);
^
TextDetection.cpp:146:69: error: request for member ‘y’ in ‘pit’, which is of non-class type ‘int’
output.at<float>(pit.y, pit.x) = SWTImage.at<float>(pit.y, pit.x);
^
TextDetection.cpp:146:76: error: request for member ‘x’ in ‘pit’, which is of non-class type ‘int’
output.at<float>(pit.y, pit.x) = SWTImage.at<float>(pit.y, pit.x);
^
TextDetection.cpp: In function ‘void DetectText::renderComponentsWithBoxes(cv::Mat&, std::vector<std::vector<DetectText::SWTPoint2d> >&, std::vector<std::pair<DetectText::SWTPoint2d, DetectText::SWTPoint2d> >&, cv::Mat&)’:
TextDetection.cpp:194:16: error: ISO C++ forbids declaration of ‘it’ with no type [-fpermissive]
for (auto& it : compBB) {
^
TextDetection.cpp:194:21: error: range-based ‘for’ loops are not allowed in C++98 mode
for (auto& it : compBB) {
^
TextDetection.cpp:195:33: error: request for member ‘first’ in ‘it’, which is of non-class type ‘int’
Point2i p0 = cvPoint(it.first.x, it.first.y);
^
TextDetection.cpp:195:46: error: request for member ‘first’ in ‘it’, which is of non-class type ‘int’
Point2i p0 = cvPoint(it.first.x, it.first.y);
^
TextDetection.cpp:196:33: error: request for member ‘second’ in ‘it’, which is of non-class type ‘int’
Point2i p1 = cvPoint(it.second.x, it.second.y);
^
TextDetection.cpp:196:46: error: request for member ‘second’ in ‘it’, which is of non-class type ‘int’
Point2i p1 = cvPoint(it.second.x, it.second.y);
^
TextDetection.cpp:206:15: error: ‘it’ does not name a type
for (auto it : bb) {
^
TextDetection.cpp:220:1: error: expected ‘;’ before ‘}’ token
}
^
TextDetection.cpp:220:1: error: expected primary-expression before ‘}’ token
TextDetection.cpp:220:1: error: expected ‘;’ before ‘}’ token
TextDetection.cpp:220:1: error: expected primary-expression before ‘}’ token
TextDetection.cpp:220:1: error: expected ‘)’ before ‘}’ token
TextDetection.cpp:220:1: error: expected primary-expression before ‘}’ token
TextDetection.cpp:220:1: error: expected ‘;’ before ‘}’ token
TextDetection.cpp: In function ‘void DetectText::renderChainsWithBoxes(cv::Mat&, std::vector<std::vector<DetectText::SWTPoint2d> >&, std::vector<DetectText::Chain>&, std::vector<std::pair<DetectText::SWTPoint2d, DetectText::SWTPoint2d> >&, cv::Mat&)’:
TextDetection.cpp:233:22: error: range-based ‘for’ loops are not allowed in C++98 mode
for (Chain& it : chains) {
^
TextDetection.cpp:256:16: error: ISO C++ forbids declaration of ‘it’ with no type [-fpermissive]
for (auto& it : bb) {
^
TextDetection.cpp:256:21: error: range-based ‘for’ loops are not allowed in C++98 mode
for (auto& it : bb) {
^
TextDetection.cpp:268:30: error: request for member ‘first’ in ‘it’, which is of non-class type ‘int’
rectangle(output, it.first, it.second, c, 2);
^
TextDetection.cpp:268:40: error: request for member ‘second’ in ‘it’, which is of non-class type ‘int’
rectangle(output, it.first, it.second, c, 2);
^
TextDetection.cpp: In function ‘void DetectText::SWTMedianFilter(cv::Mat&, std::vector<DetectText::Ray>&)’:
TextDetection.cpp:474:16: error: ISO C++ forbids declaration of ‘rit’ with no type [-fpermissive]
for (auto& rit : rays) {
^
TextDetection.cpp:474:22: error: range-based ‘for’ loops are not allowed in C++98 mode
for (auto& rit : rays) {
^
TextDetection.cpp:475:20: error: ISO C++ forbids declaration of ‘pit’ with no type [-fpermissive]
for (auto& pit : rit.points) {
^
TextDetection.cpp:475:26: error: range-based ‘for’ loops are not allowed in C++98 mode
for (auto& pit : rit.points) {
^
TextDetection.cpp:475:30: error: request for member ‘points’ in ‘rit’, which is of non-class type ‘int’
for (auto& pit : rit.points) {
^
TextDetection.cpp:476:17: error: request for member ‘SWT’ in ‘pit’, which is of non-class type ‘int’
pit.SWT = SWTImage.at<float>(pit.y, pit.x);
^
TextDetection.cpp:476:46: error: request for member ‘y’ in ‘pit’, which is of non-class type ‘int’
pit.SWT = SWTImage.at<float>(pit.y, pit.x);
^
TextDetection.cpp:476:53: error: request for member ‘x’ in ‘pit’, which is of non-class type ‘int’
pit.SWT = SWTImage.at<float>(pit.y, pit.x);
^
TextDetection.cpp:478:23: error: request for member ‘points’ in ‘rit’, which is of non-class type ‘int’
std::sort(rit.points.begin(), rit.points.end(), &Point2dSort);
^
TextDetection.cpp:478:43: error: request for member ‘points’ in ‘rit’, which is of non-class type ‘int’
std::sort(rit.points.begin(), rit.points.end(), &Point2dSort);
^
TextDetection.cpp:479:29: error: request for member ‘points’ in ‘rit’, which is of non-class type ‘int’
float median = (rit.points[rit.points.size()/2]).SWT;
^
TextDetection.cpp:479:40: error: request for member ‘points’ in ‘rit’, which is of non-class type ‘int’
float median = (rit.points[rit.points.size()/2]).SWT;
^
TextDetection.cpp:480:20: error: ISO C++ forbids declaration of ‘pit’ with no type [-fpermissive]
for (auto& pit : rit.points) {
^
TextDetection.cpp:480:26: error: range-based ‘for’ loops are not allowed in C++98 mode
for (auto& pit : rit.points) {
^
TextDetection.cpp:480:30: error: request for member ‘points’ in ‘rit’, which is of non-class type ‘int’
for (auto& pit : rit.points) {
^
TextDetection.cpp:481:36: error: request for member ‘y’ in ‘pit’, which is of non-class type ‘int’
SWTImage.at<float>(pit.y, pit.x) = std::min(pit.SWT, median);
^
TextDetection.cpp:481:43: error: request for member ‘x’ in ‘pit’, which is of non-class type ‘int’
SWTImage.at<float>(pit.y, pit.x) = std::min(pit.SWT, median);
^
TextDetection.cpp:481:61: error: request for member ‘SWT’ in ‘pit’, which is of non-class type ‘int’
SWTImage.at<float>(pit.y, pit.x) = std::min(pit.SWT, median);
The text was updated successfully, but these errors were encountered:
Did you try changing the C++ std while compiling.
$ g++ -o DetectText TextDetection.cpp FeaturesMain.cpp -lopencv_core -lopencv_highgui -lopencv_imgproc -I/path/to/current/directory -std=c++14
Use this and that will remove the not allowed in C++98 error. However there is a syntactical error in between as well. Whatever error is left after that please comment here.
Getting the following error:
The text was updated successfully, but these errors were encountered: