- You have an abstract class that you use as an interface for other classes deriving from it. The abstract class just have the bare minimum methods for interacting with it or none at all, derived classes can define new methods, you can only get access to the derived class object by the abstract class. You want to call a method in the derived class from the abstract class.
- You have a class where you want to add new methods dynamically, but it's definitions are unknown.
Nov 11, 2023
Calling C++ class methods by its string name
Consider the following cases:
Publicado por
hipersayan_x
No comments:
Etiquetas:
Programming
Aug 16, 2016
Otsu threshold
Previously, in my post about Canny edge detector, we had seen that one of the required steps for obtaining perfectly thinned edges was thresholding, in the source code example for that post I've used an arbitrary good enough value for the thersholds. In this post I'll show you an algorithmic way of obtaining all thresholds for a given number of gray levels output, based on the Otsu's method.
Publicado por
hipersayan_x
2 comments:
Etiquetas:
Programming
Feb 25, 2016
Webcamoid 7.0.0 released
Finally, a new release of Webcamoid arrived! Let me show you what new features it has to offer, and what the future holds.
Publicado por
hipersayan_x
4 comments:
Etiquetas:
My Projects
Dec 29, 2015
Disable Volume and Brightness OSD in KDE
A few days ago Arch linux team decided to dropout support for KDE 4, and force their users to upgrade to KDE Plasma 5. I've tested Plasma 5 around 10 months ago and, to be honest, my experience was not good, Plasma 5 suffered a lot of stability problems, but the problem that most annoyed me was the backlight OSD thing, i've even reported and suggested a patch for it but their developers ignored me and refused to fix this problem. So i had not option but to return to KDE 4.
Yesterday, i had not option but to try Plasma 5 again, and for my surprise (or not), the backlight OSD thing was not fixed, but also KMix is showing OSD again without option for disabling it, and it was supposed to have been fixed 3 years ago. A this point i don't know what KDE developers are thinking, it seems that their are trying to transform KDE into a Nagware. At least i know that i'm not alone because 3 months after my report, other user reported it again, and developers provided just a partial solution making the OSD smaller than before, but for me it was not ok and decided to get rid of the OSD annoyance once for all.
Publicado por
hipersayan_x
3 comments:
Etiquetas:
System
Aug 10, 2015
Canny edge detector
The Canny edge detector, unlike convolutional edge detection filters, produces clear and thin lines when applied to an image.
The algorithm consists of four steps:
The algorithm consists of four steps:
- Filter edges using a convolutional filter.
- Thin edges depending on it's gradient and direction.
- Threshold the image so all pixels where it's gradient is below a minimum threshold becomes black, all pixels where it's gradient is above a maximum threshold becomes white, and the rest becomes gray.
- Trace the edges so all gray pixels connected to white becomes white, and the rest becomes black.
Publicado por
hipersayan_x
No comments:
Etiquetas:
Programming
Aug 6, 2015
Convolutional edge detection filters design
In this post I want to talk about edge detection filters, that are a type of convolution filters, this filters are widely used in features classification algorithms. I will show you all the theory beside edge detection and how to tweak the parameters to match your needs.
Publicado por
hipersayan_x
No comments:
Etiquetas:
Programming
Jul 26, 2015
Denoise filters: Median
Gauss and Mean filters required a good knowledge of mathematics to understand its background. Median filter is very similar to both of them, but it based in a more logical approach than a mathematical one.
Publicado por
hipersayan_x
No comments:
Etiquetas:
Programming
Jul 21, 2015
Denoise filters: Mean
Continuing with article series about the denoise filters, we had seen that the Gauss filter had a very high sensitivity to noise due to it's static nature. Now is time to analyze a dynamic denoise filter based in the arithmetic mean of the input pixels, this is called the Mean Denoise Filter. This filter adapts it's convolution kernel according to the values of the input pixels.
Publicado por
hipersayan_x
No comments:
Etiquetas:
Programming
Jul 17, 2015
Denoise filters: Gauss
We have seen before about convolution filters, and at the end of that article we have seen a kernel used for removing noise in an image, that is random spurious pixels in a image, the process of removing that random pixels is called Denoise. In this case I will show you the general form of the denoising kernel based in gaussian distribution.
Publicado por
hipersayan_x
No comments:
Etiquetas:
Programming
Jul 8, 2015
Integral image and image blur
In this post I will show you an image processing technique that provides a great boost to algorithms that requires the summation of a large number of pixels, this technique is called integral image, also known as Summed Area Table (SAT). Additionally, I will show you an algorithm used to blur an image that take advantage of the integral image.
Publicado por
hipersayan_x
1 comment:
Etiquetas:
Programming
Jun 30, 2015
Image convolution
In this post I want explain a one of the most common and simple algorithm used in image processing. I will give a very basic introduction to its mathematical formulation, the source code in C++/Qt, and a some output examples.
Publicado por
hipersayan_x
1 comment:
Etiquetas:
Programming
Jun 27, 2015
Webcamoid 6.1.0 ready, what next?
5 months passed after the last release, in this post I want to explain why Webcamoid's development is going such slow, and what features I are planned for the next releases.
Download Webcamoid 6.1.0
Publicado por
hipersayan_x
No comments:
Etiquetas:
My Projects
Feb 5, 2015
Webcamoid for Windows is almost complete
A few days after my last post, I made all necessary changes to make Webcamoid works in Windows. So basically, Webcamoid is the first Free Open Source and multiplatform webcam suite, true fact :)
Publicado por
hipersayan_x
No comments:
Etiquetas:
My Projects
Jan 27, 2015
Webcamoid 6.0.0, How it will look like?
Four months has passed since the last post, so, what is the current development status of Webcamoid 6.x series? Well it looks this:
Publicado por
hipersayan_x
No comments:
Etiquetas:
My Projects
Oct 1, 2014
Released Webcamoid 5.1.0 and going to the next step.
Yesterday, I've released Webcamoid 5.1.0. This release includes many improvements and changes, the most important changes are:
- From now on, Webcamod will be developed using Qt5. Qt4 can be considered as an obsolete technology.
- Dependency reduction. This makes the program easy to port to many platforms with minimal effort, reduces the bugs caused by 3rd-party libraries, and reduces the disk usage.
- Webcamoid born as a KDE plasmoid, but since KDE is in transition from Qt4 to Qt5, and Qt5 plugins aren't compatible with Qt4, I must remove the plasmoid. The development and survival of Webcamoid is a priority.
- Webcamoid for Windows is near. Only a few patches are needed. This is necessary because Webcamoid adoption in GNU/Linux is not going so well (people seems not to be interested and I don't know why), and this strategy can give a boost to the project.
Publicado por
hipersayan_x
No comments:
Etiquetas:
My Projects
Jul 18, 2014
Compile QXmpp in Windows with full support
People keep asking me about how to compile my VoipTest example in Windows, even when they know I'm GNU/Linux only guy. Many people complains that they can hear the audio in VoipTest, but they doesn't receives the video signal, this occurs because they doesn't not compiles QXmpp with Speex, Opus, Theora and Vpx codecs.
So, in this post I will teach you how to compile QXmpp with full codec support in Windows :)
So, in this post I will teach you how to compile QXmpp with full codec support in Windows :)
Jul 17, 2014
Camicri Cube: Descarga de paquetes offline para Debian, Ubuntu y Mint
Cada tanto me llega alguna consulta a mi mail preguntándome sobre Sushi, huh?, muchas veces me preguntan por algún bug que quedó remanente. El problema es que en estos momentos estoy muy ocupado con el desarrollo Webcamoid y proyectos similares, y con el poco tiempo que tengo disponible, no puedo dedicarle tiempo a un proyecto minoritario.
Así que aquí les presento un programa para todos aquellos que necesitan descargar paquetes para sus distribuciones.
Publicado por
hipersayan_x
No comments:
Etiquetas:
Offtopic
Jun 24, 2014
Code highlight module
We continue adding new modules to our blog using the dynamic loader. This time, we will add a very useful module for people who needs to show source code in their posts. The following module will allow you to use the Alex Gorbatchev's SyntaxHighlighter.
Publicado por
hipersayan_x
No comments:
Etiquetas:
Programming
Using smileys in your blog (Blogger)
In the previous post (yeah, I know, very long time since that post, but I've been very busy), here is the code for embedding some nice smileys in your blog.
Publicado por
hipersayan_x
No comments:
Etiquetas:
Programming
Dec 7, 2013
Loading blog modules dynamically
I just want to share a little trick that I have applied to my blog a few days ago. If you have a blog like mine, in which you talk about everything, and maybe in some of the posts you need to use a code highlighter, a math or graphics renderer, or any other kind of scrpt, but in other posts you don't need them at all, maybe you noticed for sure that loading that scripts from beginning in every page that your readers visits in your website, will slow down the page charging, and therefore will degrade the user experience in your website.
So, my idea is to load only the scripts that I need, and enable or disable them with a few minimal code. This trick can be applied to any kind of template of Blogger because the following code doesn't requires to modify it.
So, my idea is to load only the scripts that I need, and enable or disable them with a few minimal code. This trick can be applied to any kind of template of Blogger because the following code doesn't requires to modify it.
Publicado por
hipersayan_x
No comments:
Etiquetas:
Programming
Subscribe to:
Posts (Atom)



