Ask Your Question

Svad's profile - activity

2017-04-26 07:16:13 -0600 received badge  Self-Learner (source)
2017-04-26 07:16:13 -0600 received badge  Teacher (source)
2017-04-26 06:59:32 -0600 commented answer opencv-3.2.0(x64): drawContours does not work with Qt5

Problem solved. In Debug configuration of my test project uses /MD key instead of /MDd(Project->Properties->C/C++->Code Generation->Runtime Library).

2017-04-26 06:02:24 -0600 commented answer opencv-3.2.0(x64): drawContours does not work with Qt5

I create standard Win32 console application instead Qt5 and it works!. But I use Qt 5.5.1, may be the problem in that. Will think. Thanks!

2017-04-26 05:45:05 -0600 commented answer opencv-3.2.0(x64): drawContours does not work with Qt5

It works only in x86 build. In x64 drawContours complete before the Mask changes.

2017-04-26 04:17:55 -0600 commented question opencv-3.2.0(x64): drawContours does not work with Qt5

I fixed it. But drawContours still not work, because it complete before doing something with image.

2017-04-26 03:11:56 -0600 commented question opencv-3.2.0(x64): drawContours does not work with Qt5

I fixed copypaste error from my project to forum, but question is still actual.

2017-04-26 03:04:36 -0600 commented question opencv-3.2.0(x64): drawContours does not work with Qt5

Fix it, thanks.

2017-04-26 03:02:08 -0600 received badge  Editor (source)
2017-04-26 02:45:16 -0600 asked a question opencv-3.2.0(x64): drawContours does not work with Qt5

Hello,

I builded opencv 3.2.0 for x64 and try to use function drawContours in my Qt5 concole application, and it does not work. The code below.

 Mask = Mat(rows, cols, CV_8UC1, cv::Scalar(0));
const vector<Point> obj_corners = { Point(x_bgn, y_bgn), Point(x_end, y_bgn), Point(x_end, y_end), Point(x_bgn, y_end) };
const vector< vector<Point> >  co_ordinates = { obj_corners };
drawContours(Mask, co_ordinates, 0, Scalar(255), CV_FILLED);

The problem is that drawContours completes before it do something.

The source part of drawContours below.

void cv::drawContours( InputOutputArray _image, InputArrayOfArrays _contours,
               int contourIdx, const Scalar& color, int thickness,
               int lineType, InputArray _hierarchy,
               int maxLevel, Point offset ){
CV_INSTRUMENT_REGION()

Mat image = _image.getMat(), hierarchy = _hierarchy.getMat();
CvMat _cimage = image;

size_t ncontours = _contours.total();
size_t i = 0, first = 0, last = ncontours;
std::vector<CvSeq> seq;
std::vector<CvSeqBlock> block;

if( !last )
    return;

Variable last is false and drawContours complete. I found out that problem is method total() - it returns zero. The code below works exactly the same - ncount equal zero.

const vector<Point> obj_corners = { Point(x_bgn, y_bgn), Point(x_end, y_bgn), Point(x_end, y_end), Point(x_bgn, y_end) };       
const vector< vector<Point> >  co_ordinates = { obj_corners };
InputArrayOfArrays con = co_ordinates;
size_t ncount = con.total();

In x86 verson of opencv all works fine. What I do wrong?

UPDATE: I am using Win7(x64) and VC14. I try to use standart build of opencv from archive opencv-3.2.0-vc14.exe and result the same. UPDATE2: Problem solved. In Debug configuration of my test project uses /MD key instead of /MDd(Project->Properties->C/C++->Code Generation->Runtime Library).

2017-01-10 08:35:44 -0600 commented question What's going on with the opencv 2.14.3?

There is some difficulties for porting 2.4.13 to 3.xx which not considered in the guide. For example: absence some feature detectors: OrbFeatureDetector and DynamicAdaptedFeatureDetector(and AdjusterAdapter). May be I am wrong and these detectors are there in the 3.xx, I just did not find them?

2017-01-10 06:38:34 -0600 asked a question What's going on with the opencv 2.14.3?

Opencv 2.14.3 developing or stopped? Does it make sense to start a new project using opencv 2.14.3?

Thanks,