Jump to content
Compvision.ru
Sign in to follow this  
bong10rno

НЕ загружаются изображения imread

Recommended Posts

компилирую и запускаю пример http://docs.opencv.org/2.4/doc/tutorials/features2d/feature_homography/feature_homography.html но не проходит проверку 

  if( !img_object.data || !img_scene.data )
  { std::cout<< " --(!) Error reading images " << std::endl; return -1; }

с чем это может быть связанно и как это исправить? А так же каким лучше методом узнать на сколько отличаются изображения друг от друга(например другое может быть немного меньше, со сдвигами и повернуто), после чего восстановить второе на сколько это возможно близко к первому? В каком направлении лучше копать?

p.s.: vs17; opencv 2.4.13

Share this post


Link to post
Share on other sites

img_obj и img_s не должны быть одной и той же матрицей.

Клонируйте матрицу одну от другой, чтобы data были разные, если A=B то матрицы указывают на те же данные, делайте A=B.clone(); 

Share this post


Link to post
Share on other sites
14 минуты назад, Smorodov сказал:

img_obj и img_s не должны быть одной и той же матрицей.

Клонируйте матрицу одну от другой, чтобы data были разные, если A=B то матрицы указывают на те же данные, делайте A=B.clone(); 

не совсем понял, о чем вы

Share this post


Link to post
Share on other sites

А, ок, мой глюк. 

Путь до изображения указываете полный?

Какой формат изображений ?

Share this post


Link to post
Share on other sites
1 минуту назад, Smorodov сказал:

А, ок, мой глюк. 

Путь до изображения указываете полный?

Какой формат изображений ?

jpg пути разные перепробовал, в чем прикол, что на с IplImage *img= cvLoadImage все нормально, можно загрузить и вывести

Share this post


Link to post
Share on other sites

Пробовали изображения бросать к экзешнику и запускать командной строкой из той же папки ?

Вообще странно, никогда таких проблем не было, может OpenCV собралось плохо?

Share this post


Link to post
Share on other sites

Проблема решилась удалением из настроек компоновщика всех либ не имеющих d (opencv_calib3d2413d.lib) стало работать)

Однако остался еще вопрос 

Цитата

А так же каким лучше методом узнать на сколько отличаются изображения друг от друга(например другое может быть немного меньше, со сдвигами и повернуто), после чего восстановить второе на сколько это возможно близко к первому? В каком направлении лучше копать?


 

Share this post


Link to post
Share on other sites

1. По поводу похожести можно bag-of-words на базе sift

https://github.com/shackenberg/Minimal-Bag-of-Visual-Words-Image-Classifier

2. Всякие перцептвные хеши

http://www.phash.org/

3. Ну и фичи из CNN сетей для CBIR (хотя сейчас даже дескрипторы типа sift делаются через нейросети)

 

На счёт этого ' после чего восстановить второе на сколько это возможно близко к первому ' скорее всего только 1 подход поможет, т.к. там можно заматчить точки и получить матрицу гомографии.

Share this post


Link to post
Share on other sites

Ну так же может помочь глубокая сегментация изображений (k-means), находить общие объекты и их сравнивать. Все приведенные решения тяжелы для выполнения. Вы бы привели примеры изображений, может есть более простой путь?

Share this post


Link to post
Share on other sites

просто 2 фотографии 2я практически первая, например микроструктура поверхности до и после некоторого использования материала, в принципе похожи, но могут быть к тому же еще и деффекты, но может быть повернута с небольшим изменением масштаба нужно понять на сколько не ровно относительно первой она стоит и подогнать ее к первой 

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

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×