Jump to content
Compvision.ru
SiriusAlpfa

Устранение неравномерности освещения на изображении

Recommended Posts

Всем добра!
Столкнулся со следующей проблемой.
Есть изображение, на котором нужно однозначно локализовать градацию (белые точки сверху конвейера) и, что куда сложнее, семена. 
Работаю на C#+OpenCv, но знаний библиотеки не хватает. 
Проблема в засвеченной области в центре, из-за которой найти семена практически нереал.
Возможно, можно как-то поиграть с освещением или ещё чем-то, но известные мне две-три функции проблему не решают.
Или OpenCv не катит и нужно брать что-то ещё. Здесь ещё какая проблема - сам проект на шарпе и, соответственно, данный модуль будет писаться на нём же. Так что сторонние языки не пройдут.
Кто может что посоветовать? Как мне найти семена на изображении или устранить (минимизировать) неравномерность освещения/засветку?
Заранее спасибо.
Знаю, что в фотошопе и avatan'е (онлайн-редактор) эта проблема решается с помощью кривых rgb.
Вот только их реализацию на opencv или хотя-бы принцип так и не откопал

IMG_1540.JPG

Share this post


Link to post
Share on other sites
В 10.12.2016 at 18:45, Smorodov сказал:

Вот кривые RGB на opencv, С++ правда.

Спасибо, буду пробовать. Перегонять из плюсов на шарп мне не привыкать(( 

Вопрос: пороговое преобразование (Threshold) отдельно над тремя слоями (r, g, b ) с их дальнейшей склейкой - это случайно не оно?)))

6 часов назад, mrgloom сказал:

Можете попробовать CLAHE

Вот что получается. Фон оно действительно уравновешивает, вот только в дальнейшем при бинаризации...1.PNG2.PNG

Share this post


Link to post
Share on other sites

Это какая-то неправильная бинаризация. И где результат работы CLAHE? У него много параметров, можно их менять.

Share this post


Link to post
Share on other sites

Если зайти сразу со стороны бинаризации, то вам нужна бинаризация с адаптивным порогом или локальная.

http://docs.opencv.org/3.0-alpha/doc/py_tutorials/py_imgproc/py_thresholding/py_thresholding.html

 

А так же можете еще в ImageJ попробовать

http://imagej.net/Auto_Threshold

http://imagej.net/Auto_Local_Threshold

 

p.s. не в тему, но может вам будет интересно про сортировку на ленте

https://github.com/GemHunt/CoinSorter

https://cloud.google.com/blog/big-data/2016/08/how-a-japanese-cucumber-farmer-is-using-deep-learning-and-tensorflow

Share this post


Link to post
Share on other sites

Is this just for testing and it's small amounts? Backlighting and a translucent belts? These conveyors are like $2-5 in parts: https://github.com/GemHunt/conveyors/blob/master/bill-of-materials/bill-of-materials.md

Multi point top and backlighting can be a huge help 3d shape labeling as well. 

I wish I had the time to work on seeds. 

looping-MM-candy.gif

Share this post


Link to post
Share on other sites

Когда искал решение для примерно похожей задачи, очень помогло для начала поиграться параметрами самой камеры (постоянно мешал автоматический баланс белого), а после c OpenCV выделял контура и это позволяло избежать засвеченных областей объекта, у себя использовал USB камеру. 

Безымянный.bmp

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Recently Browsing   0 members

    No registered users viewing this page.

×