2015-03-07 6 views
0

У меня есть несколько изображений растровых изображений и вы хотите сегментировать и получать доступ к позиции (и хотите знать размер) непрерывного тона очень высококоррелированных областей, я имею в виду продолженные тональные области (высококоррелированные сегменты) только области, которые удерживайте точные значения пикселей. У меня есть опыт обработки изображений, и я использую C++ и opencv, но я не нашел библиотеку, которая боится, если я буду заниматься программированием, я потеряю производительность, и расчет станет неэффективным, в то время как мне нужно еще много процессов обрабатывать. в это время, но из-за 10 лет этой науки я остался неуклюжим, и я не могу найти ответы, поскольку я был молод, я буду признателен, если вы поможете мне в любых идеях об этом, потому что я застрял. спасибо за любезное чтение и помощь.Обработка изображений

+0

Я думаю, что вы, вероятно, ищете * Blob Analysis * или * Connected Components Analysis *. В противном случае вы могли бы выполнить некоторые операции * окрестности * для среднего значения области окрестности, а затем вычесть каждый пиксель из среднего числа его соседей, поскольку, когда пиксель равен среднему значению его соседей, результатом вычитания будет черный пиксель , затем порог, который очень низкий и инвертирован, чтобы ваши области интереса были белыми. –

ответ

1

Я могу продемонстрировать концепцию моего комментария, используя ImageMagick, и это тестовое изображение, которое имеет полезное свойство быть шумом, что означает, что вы можете видеть его на белом фоне SO, и алгоритм не должен его видеть.

enter image description here

Я усреднить по площади 15x15, как это:

convert test.png -statistic mean 15x15 x.png 

, который дает этот

enter image description here

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

convert test.png -statistic mean 15x15 test.png -compose difference -composite -depth 8 -threshold 1 -negate x.png 

enter image description here

Вы можете экспериментировать с разной шириной и высотой нерезкости коробки, как это:

#!/bin/bash 
for x in 3 7 15 25; do 
    for y in 3 7 15 25; do 
    convert -label "${x}x${y}" test.png -statistic mean ${x}x${y} miff:- 
    done 
done | montage - -frame 5 -tile 4x out.png 

, который дает это:

enter image description here

и соответствующей маске изображения таким образом:

enter image description here

Вы можете проход, что в Connected Components анализа, как это:

convert test.png -statistic mean 5x5     \ 
     test.png -compose difference -composite  \ 
     -depth 8 -threshold 1 -negate     \ 
     -define connected-components:verbose=true  \ 
     -define connected-components:area-threshold=20 \ 
     -connected-components 8 -auto-level blobs.png 

, который даст вам это, которое содержит координаты сгустков

Objects (id: bounding-box centroid area mean-color): 
    0: 500x500+0+0 270.8,271.7 177169 srgb(0,0,0) 
    1: 216x216+52+41 159.5,148.5 46656 srgb(255,255,255) 
    8: 114x114+63+351 119.5,407.5 10039 srgb(255,255,255) 
    2: 81x100+354+47 394.0,96.5 8100 srgb(255,255,255) 
    5: 49x49+348+204 372.0,228.0 2401 srgb(255,255,255) 
    6: 358x5+55+287 233.5,289.0 1790 srgb(255,255,255) 
    10: 45x45+244+383 265.9,405.0 1520 srgb(255,255,255) 
    3: 4x289+451+181 452.5,325.0 1156 srgb(255,255,255) 
    7: 122x4+57+309 117.5,310.5 488 srgb(255,255,255) 
    9: 4x114+416+356 417.5,412.5 456 srgb(255,255,255) 
    4: 15x15+312+185 319.0,192.0 225 srgb(255,255,255) 

Затем я могу очертить обнаруженные области над исходным изображением:

enter image description here

+0

Благодарю вас за любезность и глубокое объяснение, надеюсь, что вы все самое лучшее.но это не то, что я точно ищу, пока мои объекты не являются униформальными, они являются частью объектов или даже фоновых вещей, на самом деле мне нужно извлечь реальные высококоррелированные области, но вдалеке, чтобы я мог рассчитать размер и пометить их , и воздайте больше благодарения за добрые усилия, и Бог может благословить вас. – user3601375

Смежные вопросы