Menu
  • HOME
  • TAGS

MPI send struct with bytes array and integers

c++,opencv,struct,mpi,mat

The sender segfaults because you are trying to send the data starting from the location of the Mat.data pointer itself and not from the location in memory where it points to. The receiver segfaults because there is no space to store the 768 KiB of data (should any arrive). You...

Convert jpg image in ppm P3 ASCII format using Opencv

c++,opencv,jpeg,ppm

The code involved is in the file modules/imgcodecs/src/grfmt_pxm.cpp in the OpenCV source tree. It sets the internal flag isBinary like this according to the compression parameters: for( size_t i = 0; i < params.size(); i += 2 ) if( params[i] == CV_IMWRITE_PXM_BINARY ) isBinary = params[i+1] != 0; so, if...

How to manipulate CameraPreview bytearray through the JNI? (OpenCV)

java,android,c++,opencv,jni

I want to take the bytearray "data" and pass it to the JNI and apply some OpenCV filters so that the preview changes, without returning it. Unfortunately that's not possible. The byte array that is passed to onPreviewFrame() is just a copy of the preview frame, and any changes...

Detecting face using haar-like cascade in opencv using c++

c++,opencv

You must be seeing compiler errors like this: /tmp/cckqEgtd.o: In function `main': face.cpp:(.text+0x50): undefined reference to `cv::imread(std::string const&, int)' face.cpp:(.text+0x87): undefined reference to `cv::_InputArray::_InputArray(cv::Mat const&)' face.cpp:(.text+0xca): undefined reference to `cv::imshow(std::string const&, cv::_InputArray const&)' face.cpp:(.text+0x101): undefined reference to `cv::_OutputArray::_OutputArray(cv::Mat&)' face.cpp:(.text+0x11a): undefined reference to...

Reducing the size/resolution of a saved video

python,opencv

You could use ffmpeg to convert the video after the fact. Specify the bitrates of the audio and video streams with something like this: ffmpeg -i input.mp4 -s 320x240 -b:v 16k -b:a 8k output.mp4 where 320x240 is the new resolution of the video, 16k is the bitrate for the video...

opencv convertTo not working

c++,opencv

This is not the right way to test for type conversion. OpenCV's data variable in cv::Mat is always of type uchar. It is basically a pointer to memory, but it doesn't mean that the data is uchar. To get the type of the image data use the type() function. Here...

Simple speed up of C++ OpenMP kernel

c++,opencv,openmp

Vector v is not required. Instead of adding items to it, maintain accumulators of d and d*d, and then use variance = E(v²) / E(v)² so that your inner code becomes: double sum = 0; double sum2 = 0; int n = kernelSize * kernelSize; // Kernel Patch for (int...

How to convert cv::Mat to MFC CBitmap

c++,opencv,mfc

This post shares the method of converting an IplImage to CBitmap: CBitmap* IplImageToCBitmap(IplImage* img) { CDC dc; CDC memDC; if (!dc.CreateDC("DISPLAY", NULL, NULL, NULL)) return NULL; if (!memDC.CreateCompatibleDC(&dc)) return NULL; CBitmap* bmp = new CBitmap(); CBitmap* pOldBitmap; bmp->CreateCompatibleBitmap(&dc, img->width, img->height); pOldBitmap = memDC.SelectObject(bmp); CvvImage cvImage; // you will need OpenCV_2.2.0-...

MPI - sending parts of image to different processes

c++,opencv,mpi

If you insist on using non-blocking operations, then the proper way to issue multiple of them at the same time is: MPI_Request *send_reqs = new MPI_Request[4]; int idx = 1; for (int c = 0; c < 512; c += 128) { Mat slice = mat(Rect(c, 0, 128, 512)).clone(); MPI_Isend(slice.data,...

UnsatisfiedLinkError while executing new Mat()

java,opencv,netbeans

Finaly solved my problem, the fact was that i called System.loadLibrary(Core.NATIVE_LIBRARY_NAME); too late, so i moved it a bit and solved that :) Thanks for all who spend a bit of their time to help me there!...

OpenCV - Method 'knnMatch' could not be resolved

c++,opencv,include

You're using a Ptr<DescriptorMatcher> so you should dereference it in order to call the method... matcher.knnMatch(descriptorsLeft, descriptorsRight,3); //error matcher->knnMatch(descriptorsLeft, descriptorsRight,3); // should be better ...

Access violation reading location when calling cudaMemcpy2DToArray

c++,arrays,opencv,cuda

ImgSrc_f does not point to a contiguous 512x512 chunk of memory. Try changing float *ImgSrc_f[512]; for (int i=0; i<512; i++) ImgSrc_f[i] = (float *)malloc(512 * sizeof(float)); for(int i=0;i<512;i++) for(int j=0;j<512;j++) { ImgSrc_f[i][j]=ImgSrc.at<float>(i,j); } to something like float *ImgSrc_f; ImgSrc_f = (float *)malloc(512 * 512 * sizeof(float)); for(int i=0;i<512;i++) for(int j=0;j<512;j++)...

OpenCV 2.4.3 Download [on hold]

c++,opencv

Downloaded 2.4.11 version couple weeks ago, so I guess that's the latest stable 2x version. You should be fine learning stuff from whole 2.4 version, most of them are essentially the same, this newspost tells that 2.4.3 version was more a bug and performance update. Offtopic, learning via Youtube videos...

How to call OpenCV's MatchTemplate method from C#

c#,opencv,image-processing,emgucv,opencvsharp

Not sure what's wrong with the original C-like code, but I'm managed to get it working with C++ like code: using OpenCvSharp; using OpenCvSharp.CPlusPlus; // ... var image = new Mat("Image.png"); var template = new Mat("Template.png"); double minVal, maxVal; Point minLoc, maxLoc; var result = image.MatchTemplate(template, MatchTemplateMethod.CCoeffNormed); result.MinMaxLoc(out minVal, out...

error using already compiled version of openCV

c++,c,linux,opencv

You have not linked the executable against several libraries that are required by the program Try using this: g++ -lpthread `pkg-config opencv --libs` -I/usr/local/include/ -lraspicam -lraspicam_cv -L/opt/vc/lib -lmmal -lmmal_core -lmmal_util -I/usr/include -lwiringPi test3.cpp -o test3 ...

adaptive thresholding ---ValueError: too many values to unpack

python,opencv,image-processing,adaptive-threshold

As per the documentation, the cv2.adaptiveThreshold() returns only 1 value that is the threshold image and in this case you are trying to receive 2 values from that method, that is why ValueError: too many values to unpack error is raised. After fixing the issue the code may look like:...

eclipse: java.lang.UnsatisfiedLinkError

java,eclipse,opencv

The UnsatisfiedLinkError is thrown at runtime when an application attempts to load a native library and that library does not exist. It sounds like something went wrong when attaching your library or your library was not set up correctly in your IDE. See: http://docs.opencv.org/doc/tutorials/introduction/java_eclipse/java_eclipse.html#java-eclipse...

Using OpenCV in Swift iOS

ios,swift,opencv,image-processing

OpenCV is a framework written in C++. Apple's reference tell us that You cannot import C++ code directly into Swift. Instead, create an Objective-C or C wrapper for C++ code. so you cannot directly import and use OpenCV in a swift project, but this is actually not bad at all...

convert unsigned short mat to vector in opencv

c++,opencv,vector,mat

Thanks for all the help guys, I think I managed to solve the problem. I changed the code for the array assignment to this std::vector<unsigned short> array(sub_image.begin<unsigned short>(),sub_image.end<unsigned short>()); and now the size is correct roi_size*roi_size thanks again for the help....

OpenCV FAST corner detection SSE implementation walkthrough

c,performance,opencv,optimization,sse

As harold said, delta is used to make unsigned comparsion. Let's describe this implementation by steps: __m128i x0 = _mm_sub_epi8(_mm_loadu_si128((const __m128i*)(ptr + pixel[0])), delta); __m128i x1 = _mm_sub_epi8(_mm_loadu_si128((const __m128i*)(ptr + pixel[4])), delta); __m128i x2 = _mm_sub_epi8(_mm_loadu_si128((const __m128i*)(ptr + pixel[8])), delta); __m128i x3 = _mm_sub_epi8(_mm_loadu_si128((const __m128i*)(ptr + pixel[12])), delta); m0 =...

Kinectv2 normalizing depth values

c#,opencv,computer-vision,kinect,kinect-sdk

That line of code is used to normalize depth values, which are coded in 11 bits in the C++ API. With that command, the 11-bit representation is converted in an 8-bit one, which allows to display the depth map as a grayscale image. Anyway, you don't need to use that...

OpenCV get coordinates of red-only rectangle area

c++,opencv,image-processing

I think your result is quite good, maybe if you select the contour with greatest area using Image Moments and then finding the minimal rotated rectangle of the bigger contour. vector<cv::RotatedRect> cv::minRect( contours.size() ); for( size_t = 0; i < contours.size(); i++ ) { minRect[i] = minAreaRect( cv::Mat(contours[i]) ); }...

Heap Corruption using cv::FlannBasedMatcher and std::vector

c++,opencv,vector,feature-extraction,heap-corruption

Try putting matches.reserve(size) with the actually size of the vector, before insert any element. This is necessary if you're using the OpenCV 2.2, but not with the 2.9...

OpenCV & Python: quickly superimpose mask over image without overflow

python,opencv,numpy,mask

There might be better ways of applying a colorizing mask to an image, but if you want to do it the way you suggest, then this simple clipping will do what you want: import numpy as np image[:, :, 0] = np.clip(image[:, :, 0] + color_delta[0] * (mask[:, :, 0]...

Camera calibration and conversion of coordinates(OpenCV)

c++,opencv,c++11,computer-vision

The camera calibration process estimates the intrinsic camera parameters: the camera matrix, usually denoted K, and the lens distortion coefficients, D. (NB: the rotation translation matrices of the camera with respect to the pattern are also computed for each image used for the calibration, see "Extrinsic_Parameters", but they are generally...

cv2.polylines gives wrong shape

python,opencv,numpy

In OpenCV the coordinates start from the top-left, so (0,0) is the top-left pixel on the view. Try pts = np.array([[195,327],[378,327],[286,500]])...

Is * sign in frameSize.height*frameSize.width*nmixtures*(2 + 2*nchannels) means pointer or multiplication?

c++,opencv

The asterisk (*) has three use cases: The multiply operator: 2 * 3 A pointer type declaration: int* p; Dereferencing a pointer (making it a reference to the value the pointer is pointing to): *p = 6; Example: int i; int* p = &i; // Sorry, introducing another confusion, taking...

OpenCV - Detection of moving object C++

c++,opencv

Plenty of solutions are possible. A geometric approach would detect that the one moving blob is too big to be a single passenger car. Still, this may indicate a car with a caravan. That leads us to another question: if you have two blobs moving close together, how do you...

Trying to write a UDP streaming webcam service on C

c,opencv,webcam

I finally got around the answer myself. Hope this helps for anybody who struggles with UDP+OpenCV+CapturefromCAM. The whole use of cvEncodeImage and cvDecodeImage is not really necessary. Since the struct IplImage already holds its data in image->imageData. Hence the following codes: Server side: cvNamedWindow("Webcam from Server", CV_WINDOW_AUTOSIZE); FrameCapture = cvCaptureFromCAM(0);...

Fastest way to copy some rows from one matrix to another in OpenCV

c++,matlab,opencv,matrix

So I tried different methods for this problem and the only way I could achieve a better performance than Matlab was using memcpy and directly copying the data myself. Mat out( index.cols, w2c.cols, w2c.type() ); for ( int i=0;i<index.cols;++i ){ int ind = index.at<int>(i)-1; const float *src = w2c.ptr<float> (ind);...

OpenCV return keypoints coordinates and area from blob detection, Python

python,opencv

The pt property: keypoints = detector.detect(frame) #list of blobs keypoints x = keypoints[i].pt[0] #i is the index of the blob you want to get the position y = keypoints[i].pt[1] Some documentation ...

numpy.where() on grayscale frame, wrong indices?

python,opencv,numpy,matplotlib,ransac

OpenCV use NumPy ndarray to represent image, the axis 0 of the array is vertical, corresponding to Y axis of the image. So, to plot the points you need: plt.plot(points[:,1],points[:,0],'wo')...

How to read the data of a raw image in python - approach

python,opencv,image-processing,numpy

If you have the raw image ("my_picture.raw")? You could totally use OpenCV-Python to look at it. raw_data = imread('my_picture.raw') This should give you a numpy array of the pixels that your raw file contains. Then, you can do some basic operations on the data (accessing pixels, doing object/feature recognition, etc.)....

imshow is not working

c++,opencv,image-processing

You need to put the waiKey() inside the for loop for(int i=0;i<=learningframes;i++) { cap>>frame; imshow("nn",frame); cvtColor(frame,framehsv,CV_BGR2HSV); inRange(framehsv,Scalar(0,30,0),Scalar(50,150,255),framethr); framethr.convertTo(framethr,CV_32F); accumulate(framethr,frameaccF); waitKey(0); } ...

ImportError: No module named opencv after installing python-opencv in Ubuntu 14.04

python,opencv,ubuntu,install,ubuntu-14.04

You should be importing is cv2 not opencv, there is also no highgui. You might want to check out the docs

Must compile Opencv with Mingw in order to use in QT under Winodws?

qt,opencv,mingw

You can compile it with Visual Studio as well. The opencv includepaths already have the opencv2 part of it. So the correct includepath would only be: C:\\opencv2.4.11\\opencv\\build\\include ...

OpenCV 3.0.0 Mat.push_back for vector line

c++,opencv,mat,opencv3.0

As mentioned by berak in the bug report link(http://code.opencv.org/issues/4340), doing it in two lines solves the issue as needed. #include <iostream> #include <stdbool.h> #include <opencv2/core.hpp> #include <opencv2/highgui.hpp> using namespace std; using namespace cv; int main(){ Mat matrix(1,3,CV_8UC1); vector<unsigned char> line(3,1); Mat line_m(line,true); line_m=line_m.t(); matrix.push_back(line_m); return 0; } result via cout<<matrix<<endl;...

Lab-image values on both of a and b axises exceeds the range

java,opencv,image-processing,colors,javacv

Results for L*a*b* conversion on 8-bit images is automatically scaled: RGB <-> CIE Lab* (CV_BGR2Lab, CV_RGB2Lab, CV_Lab2BGR, CV_Lab2RGB). ... This outputs 0 <= L <= 100, -127 <= a <= 127, -127 <= b <= 127. The values are then converted to the destination data type: 8-bit images L <-...

How to detect squares in video with OpenCV?

c++,c,opencv,video

As the error message says, your problem is in cv::mixChannels(). See documentation. Or you could simply do something like cv::Mat channels[3]; cv::split(multiChannelImage, channels); and then access each channel using cv::Mat currChannel = channels[channelNumber] ...

Is there a way to prevent rounding in opencv matrix divison

c++,opencv

Similar to @GPPK's optional method, you can hack it by: Mat tmp, dst; c.convertTo(tmp, CV_64F); tmp = tmp / 8 - 0.5; // simulate to prevent rounding by -0.5 tmp.convertTo(dst, CV_32S); cout << dst; ...

Extract from image an smaller image

c,image,opencv,captcha

Automatic Partition Detection The first thing you'd need to do is create the filter array of background colors. This will be the array containing the colors that occur in the background. For that purpose you can just take the offset 20x20 area or leave it as a user option depending...

Sending live video frame over network in python opencv

python,opencv,numpy

Few things: use sendall instead of send since you're not guaranteed everything will be sent in one go pickle is ok for data serialization but you have to make a protocol of you own for the messages you exchange between the client and the server, this way you can know...

Camera Calibration with OpenCV: Using the distortion and rotation-translation matrix

c++,opencv,computer-vision,robotics

Answers in order: 1) "r" is the pixel's radius with respect to the distortion center. That is: r = sqrt((x - x_c)^2 + (y - y_c)^2) where (x_c, y_c) is the center of the nonlinear distortion (i.e. the point in the image that has zero nonlinear distortion. This is usually...

solvePnP: Obtaining the rotation translation matrix

c++,opencv,matrix,computer-vision,transform

Reading the (excellent) OpenCV documentation for solvePnP might help: "rvec – Output rotation vector (see Rodrigues() ) that, together with tvec , brings points from the model coordinate system to the camera coordinate system." And following the link to Rodrigues(): src – Input rotation vector (3x1 or 1x3) or rotation...

Opencv mlp Same Data Different Results

c++,opencv,machine-learning,neural-network,weight

I've only done a little bit of poking around so far, but what I've seen confirms my first suspicion... It looks as though each time you start the program, the random number generator is seeded to a fixed value: rng = RNG((uint64)-1); So each time you run the program you're...

Cmake errors: The CXX Compiler identification is unknown, The C compiler identification is unknown

c++,opencv,cmake,arm,cmake-gui

From the output it appears that cmake was able to find your cross compiler but as the output says it can't compile a simple program. I would start with creating Hello World in C++ and trying to compile that with your cross compiler. If that doesn't work that is your...

Why does openCV image stitching work for images loaded in project but not dynamically loaded images

ios,image,opencv,image-stitching,opencv-stitching

I solved this problem. I had accidentally been saving the images captured on the app to the same location thereby sending the stitching algorithm in OpenCV multiple instances of the same image.

copying a 24x24 image into a 28x28 array of zeros

python,opencv,numpy

If you are getting an error, it might be because your np array dimensions are different. If your image is an RGB image, then your blank image should be defined as : blank_image = np.zeros((28,28,3), uint8) ...

Creating a 25fps slow motion video from a 100fps GoPro .mp4 video with C++/OpenCV

c++,opencv,video,visual-studio-2013,slowmotion

As I suspected, it's the Coded! I used many of them, but then I found this question: Create Video from images using VideoCapture (OpenCV) then I used the coded MJPG in: outputVideo.open(name, CV_FOURCC('M', 'J', 'P', 'G'), 25, size, true); // create a new videoFile with 25fps and it worked! Here's...

Extracting Points from Lines using OpenCV

c++,opencv

You can get each point of the raster line using cv::LineIterator class, e.g.: // grabs pixels along the line (pt1, pt2) // from 8-bit 3-channel image to the buffer LineIterator it(img, pt1, pt2, 8); LineIterator it2 = it; vector<Vec3b> buf(it.count); for(int i = 0; i < it.count; i++, ++it) buf[i]...

Face Recognition using c++ and opencv [closed]

c++,opencv

Comparing between 2 images can be done by accessing each pixels and taking the difference or use the absolutedifference () to compare the two frames

Visual Studio 2013 LINK : fatal error LNK1181: cannot open input file

c++,visual-studio,opencv,visual-c++,visual-studio-2013

Remove all references to the library. Somewhere that project is pointing at the path you give above and you need to remove that. Then add the library into the executable project. Right click->add->existing item, change the type to all files, then browse to the file location. ...

Passing grayscale OpenCV image to an OpenGL texture

c++,opencv,opengl,glsl

input format I'd use GL_RED, since the GL_LUMINANCE format has been deprecated internalFormat depends on what you want to do in your shader, although you should always specify a sized internal format, e.g. GL_RGBA8 which gives you 8 bits per channel. Although, with GL_RGBA8, the green, blue and alpha channels...

Haar Cascade classifier does not detect faces in simple frontal pictures

python,opencv,computer-vision

This is mainly due to the high brightness of the face, and the lack of sharp features on kids' faces (mainly around the nose bridge). Histogram equalisation before face detection can improve detection accuracy for images like this. If your detector needs to work well on such images, one possibility...

Optimizing point - circle distance method

python,opencv,numpy,optimization,cython

Use scipy.spatial.distance.cdist for the distance calculation in points_distance. First, optimize your code in pure Python and numpy. Then if necessary port the critical parts to Cython. Since a number of functions are called repeatedly a few ~100000 times, you should get some speed up from Cython for those parts. Unless,...

Convert cv::Mat to openni::VideoFrameRef

c++,opencv,kinect,openni

First you need to understand how your data is coming... If it is already in cv::Mat you should be receiving two images, one for the RGB information that usually is a 3 channel uchar cv::Mat and another image for the depth information that usually it is saved in a 16...

Creating and referencing a library for Android project (using command line and gradle)

java,android,linux,opencv,gradle

I was finally able to create a library and use it in my Android project! The following links were helpful: http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Dependencies-Android-Libraries-and-Multi-project-setup https://docs.gradle.org/current/userguide/multi_project_builds.html http://www.petrikainulainen.net/programming/gradle/getting-started-with-gradle-creating-a-multi-project-build/ This whole process made me understand why most people just use Ecipse or Adnroid Studio. But if anyone else wants to try this, I will...

Surface normal on depth image

c++,opencv,computer-vision

You need to know the camera's intrinsic parameters, so that you can also know the distance between pixels in the same units (mm). This distance between pixels is obviously true for a certain distance from the camera (i.e. the value of the center pixel) If the camera matrix is K...

OpenCV Individual Pixel Access

c++,opencv

The values you are printing out are the ASCII characters for the integer values stored. For example if you look up the ASCII table, say at this url, http://simple.wikipedia.org/wiki/ASCII You will see that decimal 50 is equivalent to the character '2' and decimal 100 is 'd'. In C++ you will...

How to evenly distribute numbers 0 to n into m different containers

c++,opencv,math

Solving this problem requires the knowledge of three simple tricks: 1. Interpolation: The process of gradually changing from one value to another is called interpolation. There are multiple ways of interpolating color values: the simplest one is to interpolate each component linearly, i.e. in the form of: interpolated = start...

opencv after install characters look awkward [duplicate]

opencv

problem solved from this link they had similar opencv :: Multiple unwanted window with Garbage name thanks for you all :) now am having one frame and perfect resolution...

how to use SIFT features for bag of words in opencv?

opencv,sift,multilabel-classification

Training a bag of words system goes as follows: Compute the features for each image of the training set Cluster those features Label each cluster with the images that have features in that cluster At this point the training is done and you can start with the testing as follows:...

Sending a Mat object over socket from Java to Java

java,sockets,opencv,mat

What I think is to Save Mat using FileStorage class using JNI. The following code can be used to save Mat as File Storage FileStorage storage("image.xml", FileStorage::WRITE); storage << "img" << mat; storage.release(); Then send the file using Socket and then retrive Mat back from File. FileStorage fs("image.xml", FileStorage::READ); Mat...

Pass coordinates of 2D Numpy pixel array to distance function

python,opencv,numpy,pixel,euclidean-distance

You can get an array of distance from the center using the following lines (which is an example, there are a lot of ways to do this): import numpy as np myArr = np.array([[0,1,2], [3,4,5]]) nx, ny = myArr.shape x = np.arange(nx) - (nx-1)/2. # x an y so they...

Estimating pose of one camera given another with known baseline

opencv,computer-vision

Let's clear up your question first. I guess You are looking for the pose of the camera relative to another camera location. This is described by Homography only for pure camera rotations. For General motion that includes translation this is described by rotation and translation matrices. If the fields of...

many undefined functions in opencv 3.0.0 using visual studio 2013

c++,visual-studio,opencv,visual-studio-2013,opencv3.0

After going through lots of stuff, i found out that i had not properly linked my opencv with this new project. That's why there were many undefined functions in my new project. A better way to do this by using "Property sheet", once a property sheet is saved then it...

best way to create a mat from a CIImage?

c++,xcode,osx,opencv,opencv3.0

Found a solution to get rid of the crash: use createCGImage:fromRect to skip the NSBitmapImageRef step: - (void)OpenCVdetectSmilesIn:(CIFaceFeature *)faceFeature usingImage:ciFrameImage { CGRect lowerFaceRectFull = faceFeature.bounds; lowerFaceRectFull.size.height *=0.5; CIImage *lowerFaceImageFull = [ciFrameImage imageByCroppingToRect:lowerFaceRectFull]; // Create the context and instruct CoreImage to draw the output image recipe into a CGImage if( self.context...

How to create thumbnails using opencv-python?

python,opencv,image-processing,python-imaging-library

You can use cv2.resize . Documentation here: http://docs.opencv.org/modules/imgproc/doc/geometric_transformations.html#resize In your case, assuming the input image im is a numpy array: maxsize = (1024,1024) imRes = cv2.resize(im,maxsize,interpolation=cv2.CV_INTER_AREA) There are different types of interpolation available (INTER_CUBIC, INTER_NEAREST, INTER_AREA,...) but according to the documentation if you need to shrink the image, you should...

how can i know if the image is in RGB or BGR format?

java,opencv,image-processing,rgb,bgr

If your image is a BufferedImage then you can ask for his type with getType(), and test against the several constants (see: BufferedImage).

CV_32FC1 to bitmap

c++,winforms,opencv,bitmap

I've managed to solve it thanks to the answer of Boyko, but a little changed, so I'm gonna explain what have I done to do it. As Boyko said: Format16bppRgb555 has memory layout of 1 bit (unused), 5 bits red (0-32), 5 bits green(0-32), 5 bits blue(0-32). You need to...

Dividing main function into other functions in opencv using c++

c++,opencv

You should always do things that improve the readability and understandability of your code when first learning a language. (And, in many cases, well beyond that point.) Readability of code should be your number one priority at this point. That being said, functions do not really cost any more time...

A better way to add text to ca cv::Mat than cv::putText()?

opencv

Here is the example of using freetype with OpenCV: #include "opencv2/opencv.hpp" #include "ft2build.h" #include FT_FREETYPE_H FT_Library library; FT_Face face; using namespace cv; using namespace std; //----------------------------------------------------------------------- void my_draw_bitmap(Mat& img,FT_Bitmap* bitmap,int x,int y, Scalar color) { Scalar src_col,dst_col; for(int i=0;i<bitmap->rows;i++) { for(int j=0;j<bitmap->width;j++) { unsigned char val=bitmap->buffer[j+i*bitmap->pitch]; float mix=(float)val/255.0;...

Finding 3D coordinate of object

opencv,image-processing,3d,camera-calibration

x, y image point only determines a ray from the camera centers through the image point. It has infinite number of possible z and when you multiply images point with inverse matrices you will get an equation of a ray or a line. It is impossible to get 3D from...

What's the fastest way to compare point elements with each other?I have used Nested for loop to do that, but it's very slow

c++,opencv,for-loop,dictionary,vector

for 20000 random points with about 27 neighbors for each point this function gave me a speed-up. It needed about 33% less time than your original method. std::vector<std::vector<cv::Point> > findNeighborsOptimized(std::vector<cv::Point> p, float maxDistance = 3.0f) { std::vector<std::vector<cv::Point> > centerbox(p.size()); // already create a output vector for each input point /*...

c++ read in image set with different file names without hardcoding

c++,image,opencv,boost,image-loading

For anyone else wondering: #include <boost/filesystem.hpp> namespace fs = boost::filesystem; std::vector<cv::Mat> imageVec; fs::path p ("."); fs::directory_iterator end_itr; // cycle through the directory for (fs::directory_iterator itr(p); itr != end_itr; ++itr){ // If it's not a directory, list it. If you want to list directories too, just remove this check. if (fs::is_regular_file(itr->path()))...

'MSize' is not a member of cv::Mat

c++,eclipse,opencv,mat

the struct was removed in this commit https://github.com/Itseez/opencv/commit/d8c8339bec83b77978d2a0e1a62b764fb9d9c599#diff-bc1d784738cd852f5b1e95ce10a56d06 maybe you can checkout a version before that and use it, or i suspect it may have been moved to a different class, you can try looking for that...

opencv window not refreshing at mouse callback

c++,opencv

your code works for me. But you used cv::waitKey(0) which means that the program waits there until you press a keyboard key. So try pressing a key after drawing, or use cv::waitKey(30) instead. If this doesnt help you, please add some std::cout in your callback function to verify it is...

Android edit images on the fly

android,opencv,bitmap,android-bitmap,opencv4android

Well... It seems you haven´t googled enough :P What is the best java image processing library/approach? There are lots of pure java implementations for image manipulation and effects....

Error : Cmake can't generate openCV

opencv,cmake,codeblocks

just do the obvious thing, and specify your c, c++ compiler and the make tool in question: cmake -G "MinGW Makefiles" -DCMAKE_MAKE_PROGRAM="D:/Programme/MinGW/bin/mingw32-make.exe" -DCMAKE_CXX_COMPILER="D:/Programme/MinGW/bin/mingw32-g++.exe" -DCMAKE_C_COMPILER="D:/Programme/MinGW/bin/mingw32-gcc.exe" -DWITH_IPP=OFF .. (ofc. your path will vary, but i hope, you get the idea) ((if you read between the lines - the opencv devs seem to...

How to generate an RGB Histogram by opencv

python,c++,opencv

Here is the code example from OpenCv documentation: http://docs.opencv.org/doc/tutorials/imgproc/histograms/histogram_calculation/histogram_calculation.html#code The approach here is to split the three channels first and then calculate the histogram for each channel. For a 3D histogram, refer to this answer: How to access 3D Histogram values in C++ using OpenCV?...

UnsatisfiedLinkError while running on netbeans java project

java,opencv,netbeans

Fixed it thanks to this tutoriel http://www.codeproject.com/Tips/717283/How-to-use-OpenCV-with-Java-under-NetBeans-IDE By changing VM options to add native library "-Djava.library.path="C:\opencv\build\java\x86""...

How to install shared library and include files manually in linux?

linux,opencv,cmake,raspberry-pi

As a work around, I created tbb.pc file to /usr/lib/pkgconfig/. Here is a sample of that file. https://github.com/openembedded/meta-oe/blob/master/meta-oe/recipes-support/tbb/tbb/tbb.pc Change prefix, libdir and include dir path according to your own tbb path and you're good to go. Hope it helps....

Extracting polygon given coordinates from an image using OpenCV

python,opencv,image-processing

Use cv2.fillConvexPoly so that you can specify a 2D array of points and define a mask which fills in the shape that is defined by these points to be white in the mask. Some fair warning should be made where the points that are defined in your polygon are convex...

java.lang.NoClassDefFoundError: org/opencv/core/Core - Java Servlet + OpenCV

java,opencv,servlets

You need to make your OpenCV jar available to both the IDE as well as the application server. I believe you've already made it available to your IDE by adding it to your web project's classpath. Now to satisfy the dependency when running on the application server too, just copy...

Opencv: EM algorithm training slowly

c++,algorithm,opencv

I found the answer of first problem, my testing image is too large to training. The size of training image is need to scale smaller. I use this article to modify pixel and it works. ...

Error for cv::FileStorage in JNI

android,c++,opencv,android-ndk,file-storage

After a lot of debugging I found that the error was quite small The error was in the line LOCAL_LDLIBS := -llog -ldl The line should have been LOCAL_LDLIBS += -llog -ldl ...

Bandpass Filter in Python for Image Processing

python,image,opencv,image-processing,filtering

This might be what you're looking for: http://matplotlib.org/users/image_tutorial.html Specificially look at the "Examining a specific data range" This will allow you to easily clip the image....

Rotate image without cropping OpenCV

python,opencv,image-processing

Create new square image with dimension = diagonal of your initial image. Draw initial image into the center of new image. Rotate new image

OpenCV / Image Processing techniques to find the centers of bright spots in an image

python,opencv,image-processing,feature-detection

The main thing to take away is energy function used in this context is any function that is used for a maximization problem. Here, the energy function is the sum of gradients/derivatives/differences (i.e. "detected borders likelihood" in this case). Since you seem to have a non-algorithmic background, I suggest you...

OpenCV algorithm of contours searching and creation of bounding rectagle

python,algorithm,opencv,computer-vision,contour

According to OpenCV documentation findContours uses "Suzuki, S. and Abe, K., Topological Structural Analysis of Digitized Binary Images by Border Following" The function retrieves contours from the binary image using the algorithm [Suzuki85]. I didn't find description of boundingRect algorithm but found this file in opencv repo 7.a. Straight Bounding...

How to create rotated rectangular or polygonal ROI/mask?

c++,opencv,mask,threshold,roi

The idea is to use fillPoly() to fill all the pixels inside the rotated-rectangle/polygon to 0, 255 otherwise: Mat mask = cv::Mat(img.size(), CV_8UC1, Scalar(255)); // suppose img is your image Mat vector<vector<Point>> pts = { { pt1, pt2, pt3, pt4 } }; fillPoly(mask, pts, Scalar(0)); // <- do it here...

OpenCV Save a Mat as Binary (1-bit depth) TIFF

opencv,tiff,binary-image

Only 8-bit (or 16-bit unsigned) single-channel or 3-channel images can be saved by imwrite.

How to get pixel coordinates from Feature Matching

python,opencv,image-processing,matching,feature-detection

matches returns a list of structures where each structure contains several fields... among them are two important fields: queryIdx - The index of the feature into kp1 that matches trainIdx - The index of the feature into kp2 that matches You'd use these to index into kp1 and kp2 and...

How to convert a 3D vector to a cv::Mat

c++,opencv

I manage to get the following working solution; I hope it is correct? int nStates = 9; const int rows = 10; const int cols = 10; vector < vector < vector<float> > > vGraph1; for(int iii = 0; iii < rows; iii++){ vGraph1.push_back(vector<vector<float> >()); for(int jjj = 0; jjj...

conversion between Mat and Mat1b/Mat3b

c++,opencv,image-processing,mat

Mat1b and Mat3b are just two pre-defined cases of Mat types, which are defined in core.hpp as follows: typedef Mat_<uchar> Mat1b; ... typedef Mat_<Vec3b> Mat3b; That said, conversion between Mat and Mat1b/Mat3b should be quite natural/automatic: Mat1b mat1b; Mat3b mat3b; Mat mat; mat = mat1b; mat = mat3b; mat1b =...

OpenCV findContours() complains if used with black-white image

python,opencv

The problem in your code is that you're misusing the return values of cv2.threshold(). cv2.threshold returns 2 parameters: retval is used when thresholding using the OTSU method (returning the optimal threshold value) otherwise it returns the same threshold value you passed to the function, 128.0 in your case. dst is...