Skip to main content

Posts

A Fast, Simple and Powerful Contrast Enhancement Algorithm for Image Analysis

Download SUACE implementation in C++/OpenCV A few months ago I started a fun project to develop a low-cost superficial vein finder as an android smartphone accessory. I had already identified that I need a camera without an IR filter, which is compatible with Android because the built-in camera of a typical smartphone completely cuts the near IR radiation. 
After researching for several days I bought a night vision camera which supports V4L2 driver, from eBay. I was able to get the video stream from the camera to openCV on NDK in my Android mobile thanks to the saki's code for accessing UVC camera from Android. The next challenge was to find an image enhancement method to process the vein images in real-time. The enhancement should normalize the illumination and enhance the contrast of superficial veins in real-time. I implemented several illumination normalization algorithms and adaptive contrast enhancement algorithms by referencing several credible pieces of literature but none…
Recent posts

මොනවද මේ HC TC BDRip TS DVDRip HDTV CAMRip ... කියන්නේ?

2016.720p.TC.x265.mkv
2012.1080p.BDRrip.x264.YIFY.avi

pirated movie releases එසේත් නැතිනම් චිත්‍රපට “හොර“ කොපි භාවිතා කරන අයට උඩ සඳහන් කරපු වචන පේළි හුරුපුරුදු ඇති. ඒවා download කරන්න කලින් එහි ගුණාත්මක භාවය පිළිබඳව යම් අදහසක් ගන්න අවශ්‍ය තොරතුරු ඉහත වචන අතර තියනවා. පහත දැක්වෙන්නේ ඒ පිළිබඳ විස්තරයකි.

CAMRip/CAM : සිනමාහලේදී සාමාන්‍ය වීඩියෝ කැම්කෝඩර් එකකින් වීඩියෝ කර ඇත. ශබ්ධ පටිගත කරනුයේ කැමරාවේ ඇති මයික්‍රෆෝනයෙනි. බාහිර ශබ්ධ සහ රූප පටිගත වේ. කැමරාවේ ඇති ස්වයංක්‍රීය ආලෝක පාළන (auto exposure) විධික්‍රම වල ඇති පමාවන් නිසා සමහර රූපරාමු පැහැදිලිව නොපෙනීමට පුලුවන්.  නොගැලපෙන බාහිර උපසිරස ගොනු භාවිතා කරනවානම් නැවත සමමුහුර්ථ (sync) කිරීම අපහසුයි. එකම වාසිය නම් චිත්‍රපට නිකුත් වූ වහාම camrip එකද නිකුත් වීමයි.

TS/TELESYNC/PDVD : CAMRip වලට වඩා වෙනස් වෙන්නේ බාහිර ශබ්ධ පටිගත නොවීම පමණයි. ඊට අමතරව සමහර වෙලාවට ගුණාත්මක බවින් ඉහල කැමරාවක් ස්ථායි ලෙස අටවා පටිගත කිරීම කර ඇත.

TC/TELECINE :  telecine යන්ත්‍රයක් මගින්  පිටපත් කරයි. බාහිර රූප පටිගත නොවේ. ආසන්න වශයෙන් DVD එකක ගුණාත්මකබවින් යුක්තයි. නමුත් …

Ingress Protection හෙවත් IP අගය සහ ජල ධූලී ප්‍රතිරෝධකතාව

ජංගම දුරකථනය water proof ද? dust proof ද? IP68 ද? නැතිනම් IP65 ද?
මොකක්ද මේ IP අගයෙන් කියවෙන්නේ?
අලුතෙන් එන ගොඩක් ජංගම දුරකථන ඇතුලු විවිධාකාර වූ උපකරණයන් ජල/ධූලි ප්‍රතිරෝධී බව සඳහන් කරන්නේ IP සහ තවත් අංක දෙකක් සමගයි. නිශ්පාදකයා water proof හෝ dust proof කියූ පමණින් අදාල උපකරණය අපරික්ෂාකාරීව පරිහරණය කිරීම නුවණට හුරු නැහැ. විශාල මුදලක් වියදම් කරමින් මිල දී ගත් උපකරණය, ද්‍රව සහ ඝන ද්‍රව්‍ය හමුවේ කොතරම් ආරක්ෂිතද යන්න දැනගැනීමට නම් මේ IP අගය ගැන දැණුවත් වී සිටීම ඉතා වැදගත්. IP නොහොත් Ingress Protection එසේත් නැතිනම් “බාහිර ද්‍රව්‍ය ඇතුලුවීම වැලැක්වීම“ පිළිබඳ දළ මිනුමක් අන්තර්ජාතික විද්‍යුත් තාක්ෂණික කොමිසම විසින් සම්මත කරගෙන තිබෙනවා. IP සමග එන පළමු අංකයෙන් කියවෙන්නේ අදාල උපකරණය ඝන ද්‍රව්‍ය සඳහා කොතරම් ආරාක්ෂාකාරීද යන්නයි. දෙවන අංකයෙන් කියවෙන්නේ එය කොතරම් දුරට ද්‍රව සඳහා ආරක්ෂාකාරීද යන්නයි. පළමු අංකය 0 සිට 6 දක්වාද දෙවන අංකය 0 සිට 8 දක්වාද විය හැකියි. පහත දැක්වෙන්නේ පළමු අංකයට අදාල විග්‍රහයන්ය. IP0_ ඝන ද්‍රව්‍ය සඳහා ආරක්ෂාවක් නොමැතIP1_ මි.මී. 50 හෝ වැඩි විශ්කම්භයක් සහිත ඝන ද්‍රව්‍යයයන්ගෙන් ආර…

Do You Really Mind What's Inside Your Computer? (An Introduction to High Performance Computing)

As a programmer, have you ever thought about what is inside your computer or what would be inside your client's computer? I know the answer is "Yes" because any programmer who is willing to deploy his or her product should consider about the platform in order to make sure the product runs smoothly. But I know many programmers cannot promise that they optimally utilize the available computer hardware resources for the software product.

I'm going to remind a few things that a programmer should know when the program is critical in execution time, in other word when a program which is computationally expensive and should be executed in real time. Precisely I'm going to explain how can we get into high performance computing using a few important things we already have inside our computers but may never be used.
What is High Performance Computing (HPC) According to the web definition HPC is solving advanced computation problemsusing supercomputers and computer cluster…

What minHessian, Octaves and Layers mean in SURF (Speeded-up Robust Feature)? QA

My previous article in this blog is about a discussion on measuring image similarities with BOF in a large database. It is an extracted part from a forum of an article posted in CodeProject "Bag-of-Features Descriptor on SIFT Features with OpenCV (BoF-SIFT)". This article is also an extracted part from the commenting section of the same article in the code project. As I described in my previous article, many people who used visual features do not have a proper understanding over the feature extraction and description algorithms because of these algorithms contain a lot of mathematical procedures which are difficult to understand with an average mathematical knowledge. The question which is about to discuss in this article has proved the above said fact and also the fact may cause the users to limit the usage of such features in their studies and applications.
Lets begin the discussion.

Q. I just wanted to ask why the minHessian value is 400, the number of octaves is 4, and th…

Measure Image Similarity with Bag of Feature (BOF) in a Large Database QA

Since my research is about visual data understanding, I thoroughly studied about many visual features and how these features can be described. It seemed that many people who used such features do not have a proper understanding over the feature extraction and description algorithms. These algorithms obviously contain a lot of mathematical procedures which are difficult to understand with an average knowledge about mathematics. The fact causes the users to limit the usage of such features in their studies and applications.  I have written a few articles about the usage of some visual feature descriptors and other image processing techniques in any application, with the source-code hosted in CodeProject.
Bag-of-Features Descriptor on SIFT Features with OpenCV (BoF-SIFT)Bag-of-Features Descriptor on SURF and ORB Features (BoF-SURF and BoF-ORB)Image Segmentation using Unsupervised Watershed Algorithm with an Over-segmentation Reduction Technique While answering the questions in the commen…

ලිතියම් බැටරි (Lithium-ion,Li-polymer) වලට දුක් දීම අහිතකරයි!

ලිතියම්(Lithium ) සහිත බැටරි (උදා. Lithion-ion,Li-polymer) ආරෝපණය (charge) සම්බන්ධයෙන් ඇතිවූ ගැටලු කීපයකට පිළිතුරු සෙවීමේදී වැදගත් කරුණු කිහිපයක් හමු වුනා. ඒවා සමග තවත් බොහෝ දෙනෙක් නොදත් කරුණු කිහිපයක් බෙදාහදා ගත්තොත් හොඳයි කියලා හිතුනා.

1. ආරෝපණය කරන වෙලාවට අදාල උපාංගය (උදා. ජංගම දුරකථන, කැමරා...) ක්‍රියාවිරහිත කර තැබීමෙන් ආරෝපණ ක්‍රියාවලිය නිසි අයුරින් අවසන් වේ. (උපාංගය ක්‍රියාත්මකව ඇති විට බැටරියට අමතර භාරයක් ඇති නිසා චාජරය ව්‍යාකූල වී නියමිත ප්‍රමාණයට වඩා වැඩිපුර හෝ අඩුවෙන් ආරෝපණය විය හැකියි)

2. වඩා උණුසුම් හා වඩා සිසිල් තත්ව යටතේ ආරෝපණය නොකල යුතුයි.

3. පූර්ණ වශයෙන් ආරෝපණය කිරීම අත්‍යාවශ්‍ය නොවේ. අර්ධ වශයෙන් ආරෝපණය කිරීම වඩාත් යෝග්‍ය වේ.

4. බැටරිය හෝ චාජරය වඩ වඩාත් උණුසුම් වේ නම් වහා ආරෝපණ ක්‍රියාවලිය නවත්වන්න.

5. ලිතියම් බැටරි යාන්ත්‍රික බලපෑම් වලට වඩාත් සංවේදී වේ. බිම වැටීම් හෝ හදිස්සි ඝට්ටන මගින් ක්ෂණිකව බැටරියේ ශක්තිය හීන වීමට ඉඩ ඇත.

6. ලිතියම් බැටරිවල ඇති ඉලෙක්ට්‍රොණික පරිපථයක් මගින් බැටරිය යම් ප්‍රමාණයකට විසර්ජනය වූ විට අදාල උපාංගය ස්වයංක්‍රීයව ක්‍රියා විරහිත වීමට ආධාර වන ලෙස සකස්…