Ask Your Question

artanis's profile - activity

2019-04-29 15:10:59 -0500 received badge  Notable Question (source)
2018-03-02 03:56:37 -0500 received badge  Popular Question (source)
2014-12-09 13:47:43 -0500 marked best answer The correct way to contribute code to OpenCV

I am sorry to ask such a "stupid" question because I am confused by the offical documents.

Currently I have some algorithms and I want to contribute them to OpenCV. However I cannot find out a clear way to sumbit my code. Here are some ways I found from the web.

  1. Send code to opencv-dev@itseez.com (From http://code.opencv.org/projects/opencv/wiki/CodeSubmissions)
  2. Create a patch in Opencv DevZone and share the code (From http://code.opencv.org/projects/opencv/wiki)
  3. Fork the OpenCV and provide pull requests (From http://code.opencv.org/projects/opencv/wiki/Working_with_OpenCV_git_repository)

Could you please tell me which of the above ways is correct ? Thank you.

2014-10-09 01:47:06 -0500 received badge  Good Question (source)
2013-07-26 22:08:52 -0500 received badge  Supporter (source)
2013-07-26 11:11:35 -0500 asked a question How to make contributions to docs.opencv.org

Hi all,

code.opencv.org says we can make a pull request on github to improve the documents on docs.opencv.org. However, I can't figure out how to change those documents.

It seems that each module has a directory named doc. Could you please tell me how they are related to the documents on doc.opencv.org?

Thanks very much. Artanis

2013-07-24 08:41:28 -0500 asked a question Where is the documents for CPU HOGDescriptor ?

Hi all,

Currently I am going to extract hog features for some images. However, I can only find documents for GPU::HOGDescriptor or ocl::HOGDescriptor. I remember that OpenCV has a CPU implementation for HOG, but I cannot find any material about it.

Could you please tell me where I can find the documents for CPU HOGDescriptor ?

Thank you!
Artanis

2013-04-10 23:50:31 -0500 commented answer Missing Mat::zeros(int ndims, const int* sz, int type)

@StevenPuttemans The reason is, currently opencv doesn't have a implementation for "zeros(int ndims, const int* sz, int type)". I have made a pull request to finish the implementation. I think if people download the newest opencv from github, they will not suffer from this problem any more. Thank you.

2013-04-09 03:50:28 -0500 commented answer Missing Mat::zeros(int ndims, const int* sz, int type)

@RichardWhitehead I have fixed this problem. No more updates needed. Thanks.

2013-04-09 03:48:54 -0500 commented answer How to redefine the Memory Allocator

I totally agree with you, opencv doesn't support custom memory allocator until now. However I find that there exists a memory pool in opencv, though it has never been used. I will try to make a pull request to implement cvSetMemoryManager, but it will need lots of testing.

2013-04-09 02:08:45 -0500 asked a question How to redefine the Memory Allocator

Hi all,

Sorry to disturb you.

Currently I want to redefine the memory allocator in OpenCV. However I found that the cvSetMemoryManager() function is useless. The source code of it is:

void cvSetMemoryManager(CvAllocFunc, CvFreeFunc, void *)
{
CV_Error( -1, "Custom memory allocator is not supported" );
}

Is there another way to redefine the memory allocator in OpenCV ?

Thank you.

2013-03-14 04:31:41 -0500 asked a question How to make FilterEngine::apply faster?

Hi everyone,

Sorry to disturb you.

Due to some reasons I cannot use filter2D() in my code, so I switch to use FilterEngine::apply(). However, using createLinearFilter() with a large kernel(about 55 * 55) and then using FilterEngine::apply() method directly will take lots of time to filter the image. Instead, using filter2D() with the same kernel is rather fast.

As the document says, FilterEngine::apply() is used in filter2D(). Could you please tell me how to increase the performance of FilterEngine::apply() ? (I think filter2D is operated in Frequency Domain. But how to let FilterEngine::apply() operate in Frequency Domain ?)

Thanks.

2013-02-28 08:04:30 -0500 received badge  Nice Question (source)
2013-02-28 07:56:25 -0500 received badge  Editor (source)
2013-02-28 07:56:25 -0500 edited question Missing Mat::zeros(int ndims, const int* sz, int type)

Hi everyone,

Sorry to disturb you.

When I try to use the Mat::zeros(int ndims, const int* sz, int type) method, the linker complains "unresolved reference to Mat::zeros(int ndims, const int* sz, int type)". Therefore I try to find the code related to this method, but I cannot find it in the opencv/module/core directory. Could anyone point out the true location of this method ?

PS. It is very strange that I can find zeros(int rows, int cols, int type) and zeros(Size size, int type), but I can't find zeros(int ndims, const int* sz, int type) in the same location.

Thank you. Artanis

UPDATE 1
I have checked opencv's code and I think it really lacks the implement of "zeros(int ndims, const int* sz, int type)". I am rather sure because if we implement this method, we need to use the MatOp_Initializer::assign() function, but this function doesn't support N(N > 2) dimensional Mat.

UPDATE 2
I will try to make a pull request to solve this problem. Hope it works. BTW, if you find the implement of "zeros(int ndims, const int* sz, int type)" in current OpenCV, please let me know. Thank you.

UPDATE 3
The pull request has been merged.

2013-02-28 07:49:40 -0500 asked a question How to get Size for N (N>2) dimensional Mat

Hi all,

Sorry to disturb you.

As we know Mat::size() will work only the dimension of Mat is not greater than 2. Could you please tell me how we can get the size if the dimension is greater than 2 ?

For example, if I create a Mat by Mat(3, (int[]) {3,4,5}, CV_64F), we can get its dimension via Mat::dims or Mat::size.p[-1], but how can we get its size, i.e. {3,4,5} ?

Thank you.

SOLVED
Use Mat::size and cast it into const int*, then we can get an array to indicate the length of each dimension.

2013-02-28 03:10:30 -0500 commented answer Missing Mat::zeros(int ndims, const int* sz, int type)

I think it's because opencv lacks implement of "zeros(int ndims, const int* sz, int type)". In matop.cpp line 1607, we can find the implement of "zeros(int rows, int cols, int type)" and "Mat::zeros(Size size, int type)". But we cannot find the implement of "zeros(int ndims, const int* sz, int type)". I can fix it by myself (or make a pull request to fix opencv), but I need to confirm whether it really lacks implement. Thank you.

2013-02-28 02:53:16 -0500 commented answer Missing Mat::zeros(int ndims, const int* sz, int type)

Yeah, I think I set them correctly. Both x86 with x86 library, x64 with x64 library have been tried.