Posts

Good friend penguinV

Two birds with one "Pull"     As previously said, I was working on OpenCV bug (you can find some details here ). The bug was not something to spend more than 2-3 days on, but the problem that was there - compilation time. OpenCV project is a set of C/C++ files (and CUDA ;-) ), which is supposed to be compiled with "cmake" to generate library(ies), containing compiled code. Everything sounded pretty decent, until the moment when I realized that I would need to compile the entire folder with a bit more than a lot of different modules of different shapes and colours to make any changes to the existing code and test it. And just because the modules with reference one-another, creating a web of dependencies, I would need to compile the whole thing every time, not some of the modules independently ("video" module, "java", "core" etc.). It'd be okay if not the fact that every compilation would take 20 minutes. Not nice. So, I switched

Two Different Frames of Same VidioCapture

Image
OpenCV Challenge     I believe, this bug is going to be one of the most challenging I have worked on. Not because of complexity of the work, not because of the scale involved, but because the part of the code is brand new to me. STDMETHODIMP SourceReaderCB::OnReadSample(HRESULT hrStatus, DWORD dwStreamIndex, DWORD dwStreamFlags, LONGLONG llTimestamp, IMFSample *pSample) {     CV_UNUSED(llTimestamp);     HRESULT hr = 0;     cv::AutoLock lock(m_mutex);     if (SUCCEEDED(hrStatus))     {         if (pSample)                     CV_LOG_DEBUG(NULL, "videoio(MSMF): got frame at " << llTimestamp);             IMFSample* prev = m_lastSample.Get();             if (prev)             {                 CV_LOG_DEBUG(NULL, "videoio(MSMF): drop frame (not processed)");             }             m_lastSample = pSample;         }     }     else     {         CV_LOG_WARNING(NULL, "videoio(MSMF): OnReadSample() is called with error status: "

penguingV Enhancement. Deploy

Image
Sending PR     Big game, big play, big problems, big solutions. Here we came to the point when "good-first-issue" is not good enough for us, and working on something of higher scale looks much more intimidating  exciting!      In my last post  I described the issue I was working on, so let's jump to the solution.      The above is the screenshot of the proposed solution to templating the EdgeDetection class. Previously, the class was using "Point"s  based on "double" values (double x, double y). The proposed solution uses "T" as a generic type instead of hardcoded "double" and "PointBase2D<>" template instead of "Point2d" type based on "double".     Previously, the class' implementation was separated among ".h" and ".cpp" files, and because implementation code for some of the functions was relatively long, I decided to keep the way of things as they wer

penguingV Enhancement

Good ol' C++ and Image Processing     The issue that was listed in penguinV 's repository asks for a slight improvement on their already implemented EdgeDetection()  algorithm, which currently works with double  values. The improvement must template the algorithm so the work can be done with 'float's as well.     Well, templating the class with all of its methods is not that hard, separating headers ( .h ) from implementation ( .cpp ) of a templated class is not that tricky (by the way, I have recently found a beautiful tutorial on how it can bee done in 3(!) different ways), but making sure that at the time of comparison/assignment of a double  to int  (and vise-versa) the data won't be truncated because of differences in bit sizes - that can be a bit time-consuming. As of now, the algorithm uses uint32_t  (unsigned 32-bit integer) as its integer type to be able to hold/pass data from/to double  variables (truncating decimals, obviously), but with switch to f

Deep Into Issues

Image
In search of the best bugs     I've been looking for a couple projects that I might be able to contribute to. Time period - 2 weeks for each. Level of difficulty - intermediate. Excitement - beyond limits.      After a couple of decent hours spent on looking for no less decent projects to work on, I decided to come back to the one that I have already worked on - penguinV  (you can read about this project in one of my previous posts ) - and choose one, that I haven't worked with before - opencv . OpenCV is an open source project, which is implemented in C++ and Python and is widely used in various computer vision projects.      The issues that I would like to focus on have different backgrounds, one is an enhancement, and the other is a bug fix. I believe I should be able to manage to finish both of them on time, even having a tight schedule this semester and working on 3 big projects at the same time.      Wish me luck and wait for the updates :) Issue #1 Iss

"Good first issue". Finale.

Image
Status: completion     Four pull request have been submitted and work seems to be done, so let's recall what we've been working on: AVM f   (Averaging Variable Method framework). MochaJS PenguinV schemaanalyst 1) AVM f . I believe I should give more detailed 'inside' to this and next projects (MochaJS), since at the time of writing respective post  the work wasn't progressing at desired tempo.           The community welcomed me - a newcomer - nicely and with understanding. The issue was to add tool's logo to README.md and a brief list of features that the tool is capable of. I did my research and found the most recent article that was dating October 2018, which contains a good detailed explanation of the possibilities of AVM f . All I needed to do is to read it and boil it down to the list, which would give an idea of what the tool is for. The community gave me green light on using it as a source and so I did.     The logo has been added, th

"Good first issue", the final chapter. Part 4/4.

Image
Status: success?     The fourth and the final 'Good first issue' fix that I worked with was for schemaanalyst   project, which focuses on work with relational DB schema, ensuring integrity of the data and intended data acceptance/rejection criteria. The issue was relatively simple - to make style of some of the table data be matching with style of examples, containing this data.       The fix was pretty easy to do and not time consuming one. The markup allows usage of backticks in tables, so I made the styles being matching.     However, the community haven't replied yet, so I am wondering if the fix is to accepted in the nearest time or not. The link to the issue . The link to the PR .