Ask Your Question

Karthikeyan's profile - activity

2020-05-17 23:14:50 -0600 received badge  Popular Question (source)
2018-12-07 02:51:00 -0600 received badge  Notable Question (source)
2018-06-21 08:15:22 -0600 commented question Template matching behavior - Color

@LBerger: Added the result of your code. what is the level parameter?

2018-06-21 08:13:27 -0600 edited question Template matching behavior - Color

Template matching behavior - Color I am evaluating template matching algorithm to differentiate similar and dissimilar o

2018-06-21 02:28:09 -0600 commented question Template matching behavior - Color

I am not familiar with the frequency domain operations. Not getting intuition like the OpenCV's template matching

2018-06-18 23:36:46 -0600 commented question Template matching behavior - Color

@LBerger: Thanks for pointing me a resource, Do you have any write up or blog I couldnt able to interpret the results I

2018-06-14 06:05:52 -0600 asked a question Template matching behavior - Color

Template matching behavior - Color I am evaluating template matching algorithm to differentiate similar and dissimilar o

2018-01-02 01:31:38 -0600 answered a question Are there C++ version of Python examples in Opencv?

It depends on where you search for. If you go the main page OpenCV 3.1.0 Main Page, you can see 2 topics OpenCV Tutori

2017-12-18 16:39:08 -0600 received badge  Popular Question (source)
2017-10-10 07:42:12 -0600 marked best answer How to find whether the position is a Peak position in a kernel window?

I am searching for an OpenCV function that replicates the function of peak_local_max in scikit-image. What this function does is, It compares the values over a window of mentioned size whether the anchor point value is greater than or equal to the maximum of other positions or not. If the case satisfies, it considers it as a local peak.

Example of what I want,

image description

Consider my image is 5x5 and I want to find the local peaks in the window size of 3x3. If you could apply the criteria I explained in the question(It compares the values over a window of mentioned size whether the anchor point value is greater than or equal to the maximum of other positions or not), only one value satisfies 10.79. But in the case of minmaxloc it will find first 10.79 later after the mask is updated it will give 10.6 but 10.6 is definitely not the local peak and we wont know when to stop.

Is there a OpenCV function that could do this job? I know about minmaxLoc and minmaxIdx but it calculates for global frame which I am not interested. I am thinking of taking the filter2D function as reference and create my own functionality to do this. On the parallel side I want your suggestions to go about this problem?

Any help could be really appreciated. Thanks in advance!

2017-09-27 05:09:35 -0600 commented question How to find whether the position is a Peak position in a kernel window?

@LBerger: updated my question and I got my answer as well thanks for your help

2017-09-27 05:08:17 -0600 edited question How to find whether the position is a Peak position in a kernel window?

How to find whether the position is a Peak position in a kernel window? I am searching for an OpenCV function that repli

2017-09-27 04:57:15 -0600 commented answer How to find whether the position is a Peak position in a kernel window?

I quoted threshold image as a sample. In fact, I feel minmaxloc wont work for my case at all. Let me update my question

2017-09-27 04:42:00 -0600 commented answer How to find whether the position is a Peak position in a kernel window?

I found a solution for my problem posted here, Thanks for your help anyways :)

2017-09-27 04:38:51 -0600 answered a question How to find whether the position is a Peak position in a kernel window?

Hey I found my answer. I used the logic behind dilate operation to find the peak local maximum. It would be very simple

2017-09-15 05:26:38 -0600 commented question How to find whether the position is a Peak position in a kernel window?

Got your point! Firstly I don't wan to find the maximum in the window. I want to find the peak whether the anchor point

2017-09-15 05:09:46 -0600 commented question How to find whether the position is a Peak position in a kernel window?

Got your point! Firstly I don't wan to find the maximum in the window. I want to find the peak whether the anchor point

2017-09-15 04:33:04 -0600 commented question How to find whether the position is a Peak position in a kernel window?

I mentioned in the question itself, I know about the minMaxLoc but that is not what I expected. Thanks for your help

2017-09-14 09:40:26 -0600 asked a question How to find whether the position is a Peak position in a kernel window?

How to find whether the position is a Peak position in a kernel window? I am searching for an OpenCV function that repli

2016-09-06 04:59:43 -0600 answered a question output.avi file created but its size is 0k

I have faced the same issue, the reason is the application(.exe) folder should contain the ffmpeg dll depending on your OpenCV version in order to write the videofile. If the dll is not present there, the video file written will be of 0KB. Kindly check whether your application folder contains that dll.

For example, opencv_ffmpeg310.dll for OpenCV 3.1.0

2016-08-25 01:15:23 -0600 commented answer How to obtain the estimateRigidTransform matrix using gyroscopes

Thanks a lot @Tetragramm for you answer. Please share some more thoughts on the following, (i) The gyroscope data I get is the angular velocity in degrees per second(dps) along the three axis. From this How to estimate a rotation matrix? (ii) I understand completelty T is just a permutation matrix as you said but How to determine a particular T, as there are several combinations?

2016-08-24 08:35:32 -0600 asked a question How to obtain the estimateRigidTransform matrix using gyroscopes

I have a video feed which is taken with a moving camera and I have the corresponding gyroscope values for each frame data. I have seen a paper implementation to stabilize the video using the gyroscope data Stabilization using gyroscopes

I would like to stabilize the video, basically estimate a transormation matrix between two corresponding frames (in Translation and rotation) using this gyroscope data instead of image data(finding feature points). How can I correlate the gyroscope values in estimating this translation offsets in x and y axes atleast(for now rotation is next in my priority list)?

Anyone tried this kind of approach, any help could be really appreciated.

Thanks in advance!

2016-08-03 04:41:05 -0600 commented question stereo camera for SLAM odometry

e-con systems has launched Tara, a Stereo vision camera over USB 3.0 interface. Tara stereo Camera is bundled with OpenCV SDK. Tara SDK (OpenCV) includes applications for Tara Camera Viewer, Tara Depth Viewer, Tara Disparity Viewer, Point Cloud, IMU Application etc

For Pricing and other technical documentations, Please check product page at https://www.e-consystems.com/3D-USB-s...

2016-02-19 23:27:09 -0600 received badge  Student (source)
2015-08-31 04:41:39 -0600 commented question train cascade larg offset

Try tuning the arguments given for detectMultiScale, especially the minimum and maximum possible object size arguments.

2015-08-18 03:58:29 -0600 commented answer Partition() - Finding the number of Clusters

@LBerger: Thanks for your effort. Yes it is possible to use canny or threshold for this image. But in original scenario, real time images with different objects and textures would be the input. For now, I was interested in the partition api evaluation.

2015-08-18 03:55:52 -0600 received badge  Scholar (source)
2015-08-18 03:55:38 -0600 commented answer Partition() - Finding the number of Clusters

Thanks a lot @berak!! As you suggested the code works very well in detecting the unique colours (including the artifacts) but still it depends on the predicate function as rightly mentioned. Very Thanks.!!

For the cluster count, the partition function itself returns an int value which would be suffice for now, I was not able to understand that part in your code both the methods. if possible tell a little bit about those part. Anyways thanks a lot for your help!

2015-08-17 10:00:40 -0600 asked a question Partition() - Finding the number of Clusters

Hi all,

I am evaluating few of the openCV api's for my application, in the process I came through this Partition api. Basically I want to know the number of clusters in the part of image using this api. I have seen this link here explaining the usage, but I cant comprehend.

The thing is I want to find the cluster count in a image using partition api. For example, (for a image like this) I should get the cluster count return value from the Partition function as 6 since there area 6 different coloured clusters are there.

Any help could be really appreciated. Thanks in advance!

Find_ClusterCount_using_partition

2015-08-17 08:19:29 -0600 received badge  Supporter (source)
2015-08-17 08:16:32 -0600 commented question Partition() function underlying algorithm.

@berak : Thanks. I want to partition the image without any supervised input. I have seen the link, but when I try to give the vector of points, its showing an error "no instance of overloaded function matches the argument list". Am I doing anything wrong??

2015-08-17 08:02:26 -0600 commented question Partition() function underlying algorithm.

Can anyone give an example of how to use this partition api. I have read the documentation, still couldn't able to find any useful link with this api.

2015-07-19 08:10:45 -0600 received badge  Nice Answer (source)
2015-07-15 09:58:09 -0600 answered a question play video within video

This is what you are asking please check the link, Simplar 2D AR. It would be useful. In the link they were using arcane C-api's. You can convert it to c++ and it is perfectly working.

There are options for,

1.Showing an Image over the pattern.

2.Playing a Clip over the pattern.

3.Marking the pattern.

2015-07-06 09:37:52 -0600 answered a question Compare two images and highlight the difference

This will be a very basic algorithm just to evaluate your use case. It can be improved a lot.

(i) In your case, the first step is to identify whether there is a change or not between 2 frames. It can be identified by using a simple StandardDeviation measurement. Set a threshold for acceptable difference in deviation.

Mat prevFrame, currentFrame;

for(;;)
{
    //Getting a frame from the video capture device.
    cap >> currentFrame;

    if( prevFrame.data )
    {
         //Finding the standard deviations of current and previous frame.
         Scalar prevStdDev, currentStdDev;
         meanStdDev(prevFrame, Scalar(), prevStdDev);
         meanStdDev(currentFrame, Scalar(), currentStdDev);

          //Decision Making.
          if(abs(currentStdDev - prevStdDev) < ACCEPTED_DEVIATION)
          {
               Save the images and break out of the loop.
          }     
    }

    //To exit from the loop, if there is a keypress event.
    if(waitKey(30)>=0)
        break;

    //For swapping the previous and current frame.
    swap(prevFrame, currentFrame);
}

(ii) The first step will only identify the change in frames. In order to locate the position where the change occured, find the difference between the two saved frames using AbsDiff. Using this difference image mask, find the contours and finally mark the region with a bounding rectangle.

Hope this answers your question.

2015-06-25 10:11:44 -0600 received badge  Nice Answer (source)
2015-06-24 09:21:43 -0600 answered a question Increase the number of rows for a Mat without touching original data

You can take a look at copyMakeBorder. This is probably what you want.

void copyMakeBorder(InputArray src, OutputArray dst, int top, int bottom, int left, int right, int borderType, const Scalar& value=Scalar() )

You just want to increase the number of rows right! So just keep the left and right as 0. The number of rows you want to add either in top or bottom where you want specify them. Since you want those values to be empty, use borderType as BORDER_CONSTANT and fill the value with scalar::all(0). That's it

For assistance, on how to use this api take a look at the tutorial here.