Пікірлер
@user-tb3gz7iz5w
@user-tb3gz7iz5w 3 күн бұрын
Большое спасибо!
@science_engineering
@science_engineering 7 күн бұрын
блин.. очень нужно замерить освещенность по дуге окружности (ctrl+K)... Не знаете как в ImageJ сделать дугу окружности? Вдоль окружности не замеряет, а инструмента типа "Ластика" для выделений в ImageJ судя по всему нет. Да и скомбинировать не получается нормально прямую и окружность, чтоб оставить кусок этой самой окружности...
@yurii_petrov
@yurii_petrov 7 күн бұрын
@@science_engineering Вдоль окружности профиль можно построить, если окружность не замкнута. Можно выделить круг и сделать selection -> area to line. При этом получится разомкнутая линия, вдоль которой можно построить профиль.
@science_engineering
@science_engineering 9 сағат бұрын
@@yurii_petrov не идеально то что нужно, но уже что-то.. спасибо))
@science_engineering
@science_engineering 5 ай бұрын
Юрий, доброго времени суток! Т.к. спросить особо не у кого, спрошу у вас... Я занимался обработкой капельных и волновых течений, полученных с высокоскоростной камеры. Если кратко, то нужно было построить дисперсионное соотношение для капиллярных волн в жидком металле. Для этого надо было замерить изменение уровня серого в точке при прохождении волны для построения графика изменения частоты по времени, а также изменение максимальной длины волны. Разница между аппроксимацией и теоретическим значением составляла до 20%, поэтому научрук рекомендовал отфильтровать изображение. Я к этому делу решил подойти максимально методически. Для начала я решил определить тип шума среди разных типов шумов (гауссов шум, шум Релея, гамма-шум, экспоненциальный, равномерный и импульсный шум). Для этого я вырезал небольшой однородный участок изображения без структур, где нет заметного тренда освещенности. Далее в ImageJ я построил гистограмму изображения. Она была похожу на гауссиану, но для убедительности я взял статистические данные (Mean, StdDev), и по ним в Wolfram Mathematika построил график нормального распределения, наложив последний на гистограмму. Оба графика практически идеально совпали, т.е. это гауссовский, скорее всего дробовой шум. Но не суть. Дальше исходя из того, что это именно гауссовский шум, я решил выбрать 5-6 различных фильтров, наилучшим образом фильтрующих именно этот тип шума, и по критерию SNR (signal-to-noise ratio) определить наилучший фильтр. Пробовал разные встроенные фильтры из Вольфрама и ImageJ, наилучшим оказался Медианный фильтр. Ошибка в аппроксимации снизилась до 3%. Научруку всё это дело так понравилось, что он рекомендовал оформить эту работу в отдельную статейку. Я то только "за!" но чего т я сомневаюсь, потому что в этом деле я можно сказать новичок :) Вроде бы нашёл пару публикаций по медицинской тематики, где похожей методой (Histogramm- SNR - Filter) фильтровали снимки с томографов МРТ. Да и в книжках и во всяких руководствах чё т похожее попадалось. Например, в книжке Rafael C. González, Richard Eugene Woods (2008). Digital image processing аналогичная метода используется. Вроде бы всё хорошо. Но вот один мужик в институте небрежно покачал головой, сказав что гауссовый шум не должен влиять на спектр волн (при измерении миним. волнового числа/макс. длины волны я беру абсциссу максимального значения спектра). В общем, меня продолжают терзать смутные сомнения... быть может вы занимались чем - то похожим в вашей области, когда надо было фильтровать изображения? Чего я ещё мог упустить ?) Такое ощущение, что-то тривиально упускаю😀 Заранее спасибо! з.ы.: ImageJ и ваши уроки очень помогли в любом случае!
@yurii_petrov
@yurii_petrov 5 ай бұрын
Добрый вечер, ну это конечно не моя область. Если я правильно понял, то уровень сигнала в заданной точке в зависимости от времени измерялся по серии снимков, а потом изучался спектр полученного сигнала, а медианное усреднение проводилось на каждом снимке в серии. Медианный фильтр заменяет значения в точке на медиану распределения значений в области заданного размера, это эквивалентно тому, что сигнал в каждый момент времени измерялся не в одной точке, а медианно усреднялся по нескольким соседним точкам изображения. Аддитивный гауссов шум на изображении этот фильтр конечно уменьшит, а размеры области, с которой измеряется сигнал, увеличит. Спектр гауссова шума - белый, так что он добавится к спектру сигнала как константа. Но гауссов шум, как я понимаю, на изображении, то есть в зависимости от координат, а спектр - от времени и может иметь свой шум.
@science_engineering
@science_engineering 5 ай бұрын
@@yurii_petrov анализировался уровень сигнала как в заданной точке (в единственном пикселе) на множестве снимков по времени, так и на каждом отдельном снимке вдоль кривой (через множество пикселей) по координатам. Мне вот коллега советовал сделать сглаживание графика (т.е. одномерного сигнала) вдоль множества пикселей с каждого изображения, а самое изображение не фильтровать. При этом сигнал по времени, замеренный в точке на множестве изображений, мы получается не трогаем. То есть мы отфильтровываем "координатный" гауссов шум, а "временной" шум не трогаем. Мне это интуитивно показалось как-то не так, поэтому я остановился всё же на фильтрации изображений целиком (т.е. фильтровал двумерный сигнал). Вообще, как думаете какова природа этого "временного" шума? Он у меня явно какой-то "другой", и амплитуда у него поменьше...
@user-ok3wv1ik9w
@user-ok3wv1ik9w 5 ай бұрын
Юрий добрый день, посмотрела кучу роликов обущающих работать в imageJ, пытаюсь найти размер частиц на изображении с оптического микроскопа, но частицы эти оптически прлзрачные и имеют только границу раздела фаз, уже сколько бьюсь, проанализировать корректно не выходит, подскажите что можно предпринять?
@yurii_petrov
@yurii_petrov 5 ай бұрын
Не видя снимка, конечно сложно что-либо посоветовать, но если я правильно понимаю, то Вы отличаете на изображении прозрачные частицы от прозрачного окружающего их вещества благодаря тому, что у них есть границы, отличающиеся от всего остального по уровню сигнала. Если это так, то самое простое - это использовать выделение по уровню сигнала Image -> Adjust -> Threshold (или Color Threshold) , чтобы выделить границы частиц, затем преобразовать их в бинарное изображение нажав Apply, или Process -> Binary -> Make Binary. В результате получится изображение, на котором границы частиц будут белые на черном (или наоборот, в зависимости от настроек Binary). К этому изображению можно применить функцию Process -> Binary -> Fill Holes. В результате те частицы, граница которых на полученном изображении замкнута, то есть не имеет разрывов, будут закрашены по всей площади. Дальше можно их найти, используя стандартный Analyze Particles, добавить в менеджер выделений и при необходимости проанализировать исходное изображение, используя эти выделенные области.
@science_engineering
@science_engineering 7 ай бұрын
насчет измерений по всем изображениям (Image - Stacks - Measure Stacks) : площадь то он измеряет, а вот значение освещённости в конкретном пикселе измеряет только на текущем изображении, что весьма неудобно. ПРичём то же самое наблюдается и в более "навороченном" Fiji. Касательно построения графика вариации освещённости (Image - Stacks - Tools - Plot XY Profile) тоже наблюдается проблема: если для одиночного изображения можно построить график (Ctrl+K) и извлечь данные с точек, то для Стека это уже сделать, увы, нельзя... Приходится выкручиваться :)
@yurii_petrov
@yurii_petrov 7 ай бұрын
По первому пункту насчет измерений по всем изображениям я не вполне понял в чем проблема: пункт Image - Stacks - Measure Stacks вызывает макрос, который в цикле по всем срезам стека вызывает команду "Measure". Команда "Measure" измеряет и выдает в таблицу результатов значения тех величин, которые выбраны в пункте Analyze -> Set measurements... Соответственно, если выбрана только площадь, то и в результаты выведется только площадь, если выбрать среднее значение уровня серого, то и оно будет выводиться в таблицу результатов. Если же речь идет о значении уровня серого в конкретном пикселе, которое выводится в главном меню вместе с координатами пикселя, то да, там выводится только значение по текущему срезу. Если для чего-то нужно видеть значения в данном пикселе на всех срезах сразу, то можно сделать выделение инструментом "точка" и построить профиль по срезам: Image -> Stack - Plot Z-axis profile, потом в окне построенного профиля включить Live и при перемещении точки по кадру профиль будет обновляться, можно отслеживать в реальном времени и при необходимости посмотреть данные в виде таблицы (List). По второму пункту: профиль (Image - Stacks - Tools - Plot XY Profile) действительно возвращает стек изображений, без возможности получить данные из окна профиля. Если нужны профили по линии в виде таблицы, то можно написать макрос с циклом по срезам стека, примерно с такими командами: for (n=1; n<=nSlices; n++) { setSlice(n); profile = getProfile(); Table.setColumn(n, profile);}
@science_engineering
@science_engineering 7 ай бұрын
@@yurii_petrov хех, спасибо большое. А то я уже изловчился ставить точку на текущем срезе, замерять уровень серого в ней ctrl+m, переключаться на следующий срез, удалять старую точку shift+A, ставить в том же месте новую и опять замерять ctrl+m. Своим советом вы сделали мою жизнь на порядок проще)))) Что касается применения, то моя задача построить дисперсионное соотношение для капиллярных поверхностных волн в жидком металле. То есть там надо замерить изменение макс длины волны по времени (кадрам) вдоль отрезка, и изменение частоты в точке (тоже по времени). Вот в последнем случае и понадобилось замерить изменение уровня серого в одном и том же пикселе для разных кадров. У меня их ~50-100 , снимали на скоростную камеру 4000fps :)
@science_engineering
@science_engineering 7 ай бұрын
@@yurii_petrov что посоветуете в плане борьбы с зашумленностью изображения? Замерил освещённость, построил спектры, дисперсию волны. Прихожу к научруку, а он говорит что на фото слишком большое соотношение "сигнал-шум". Поэтому и погрешность такая большая получилась (15 %). В общем, скорей всего всему виной цифровой шум и большая "зернистость" изображения. Какие фильтры посоветуете использовать в ImageJ чтоб "сгладить" проблему? И где лучше фильтровать - в частотной области или свертку лучше делать в простр-й области? Или быть может изображение вообще не трогать, а сгладить сам профиль вдоль отрезка ctrl+K?
@yurii_petrov
@yurii_petrov 7 ай бұрын
@@science_engineering С шумом, к сожалению, универсальных советов нет. Любое сглаживание, неважно, усреднением по изображению, или фильтрацией частот, все равно приводит к изменению экспериментальных данных. Поэтому в каждом конкретном случае надо выяснять природу шума и его отличие от интересующих данных, чтобы выработать критерии для "сглаживания", при котором искажение данных минимально. Либо решать прямую задачу, то есть, исходя из модели, рассчитывать результаты эксперимента и сравнивать с экспериментальными в пределах шума.
@science_engineering
@science_engineering 7 ай бұрын
@@yurii_petrov ещё такой вопрос, думаю вам тоже будет интересно... При построении профиля освещённости вдоль линии (Ctrl+K) значения уровня серого почему-то получаются дробными и неправильными (по сравнению с тем когда измеряешь значение уровня серого в каждом пикселе отдельно), если изображение при этом сильно увеличено. Если же изображение отдалить, построить линию и опять построить профиль Ctrl+K, то вуаля - значения уровня серого опять целые и "правильные". Думал, что это связано с тем сам отрезок при большом увеличении имеет не целую длину (в пикселях). Но теперь мне кажется, что это скорее какой-то глюк... Ибо на одном и том же 8-бит изображении замерил уровни серого в Вольфрам Математика - там тоже всё чётко, уровни серого целые числа.... Вообще обращал внимание что в Set Measurements стоит Mean Gray Value, то бишь среднее.. Но другие ставишь Min Max Mode они то тоже целые.... Вот сейчас читаю руководство по ImageJ: чёрным по белому - только целыми могут быть значения пикселя!! 8-bit ---- Images that can display 256 (2^8) gray levels (integers only). В каком случае они вообще могут получиться дробными?! Может там что-то как-то хитро осредняется?
@voyagerone9645
@voyagerone9645 8 ай бұрын
То, что я искал!
@voyagerone9645
@voyagerone9645 8 ай бұрын
Спасибо! хороший гайд!
@yurii_petrov
@yurii_petrov Жыл бұрын
Поскольку многие используют эту серию видео как справочник по командам и функциям ImageJ, сделал общее оглавление для всех видеосюжетов со ссылками на отдельные части: dzen.ru/a/ZFezUxF6lnJ9ZZVV
@yurii_petrov
@yurii_petrov Жыл бұрын
Поскольку многие используют эту серию видео как справочник по командам и функциям ImageJ, сделал общее оглавление для всех видеосюжетов со ссылками на отдельные части: dzen.ru/a/ZFezUxF6lnJ9ZZVV
@yurii_petrov
@yurii_petrov Жыл бұрын
Поскольку многие используют эту серию видео как справочник по командам и функциям ImageJ, сделал общее оглавление для всех видеосюжетов со ссылками на отдельные части: dzen.ru/a/ZFezUxF6lnJ9ZZVV
@yurii_petrov
@yurii_petrov Жыл бұрын
Поскольку многие используют эту серию видео как справочник по командам и функциям ImageJ, сделал общее оглавление для всех видеосюжетов со ссылками на отдельные части: dzen.ru/a/ZFezUxF6lnJ9ZZVV
@yurii_petrov
@yurii_petrov Жыл бұрын
Поскольку многие используют эту серию видео как справочник по командам и функциям ImageJ, сделал общее оглавление для всех видеосюжетов со ссылками на отдельные части: dzen.ru/a/ZFezUxF6lnJ9ZZVV
@yurii_petrov
@yurii_petrov Жыл бұрын
Поскольку многие используют эту серию видео как справочник по командам и функциям ImageJ, сделал общее оглавление для всех видеосюжетов со ссылками на отдельные части: dzen.ru/a/ZFezUxF6lnJ9ZZVV
@yurii_petrov
@yurii_petrov Жыл бұрын
Поскольку многие используют эту серию видео как справочник по командам и функциям ImageJ, сделал общее оглавление для всех видеосюжетов со ссылками на отдельные части: dzen.ru/a/ZFezUxF6lnJ9ZZVV
@yurii_petrov
@yurii_petrov Жыл бұрын
Поскольку многие используют эту серию видео как справочник по командам и функциям ImageJ, сделал общее оглавление для всех видеосюжетов со ссылками на отдельные части: dzen.ru/a/ZFezUxF6lnJ9ZZVV
@yurii_petrov
@yurii_petrov Жыл бұрын
Поскольку многие используют эту серию видео как справочник по командам и функциям ImageJ, сделал общее оглавление для всех видеосюжетов со ссылками на отдельные части: dzen.ru/a/ZFezUxF6lnJ9ZZVV
@yurii_petrov
@yurii_petrov Жыл бұрын
Поскольку многие используют эту серию видео как справочник по командам и функциям ImageJ, сделал общее оглавление для всех видеосюжетов со ссылками на отдельные части: dzen.ru/a/ZFezUxF6lnJ9ZZVV
@yurii_petrov
@yurii_petrov Жыл бұрын
Поскольку многие используют эту серию видео как справочник по командам и функциям ImageJ, сделал общее оглавление для всех видеосюжетов со ссылками на отдельные части: dzen.ru/a/ZFezUxF6lnJ9ZZVV
@yurii_petrov
@yurii_petrov Жыл бұрын
Поскольку многие используют эту серию видео как справочник по командам и функциям ImageJ, сделал общее оглавление для всех видеосюжетов со ссылками на отдельные части: dzen.ru/a/ZFezUxF6lnJ9ZZVV
@yurii_petrov
@yurii_petrov Жыл бұрын
Поскольку многие используют эту серию видео как справочник по командам и функциям ImageJ, сделал общее оглавление для всех видеосюжетов со ссылками на отдельные части: dzen.ru/a/ZFezUxF6lnJ9ZZVV
@yurii_petrov
@yurii_petrov Жыл бұрын
Поскольку многие используют эту серию видео как справочник по командам и функциям ImageJ, сделал общее оглавление для всех видеосюжетов со ссылками на отдельные части: dzen.ru/a/ZFezUxF6lnJ9ZZVV
@yurii_petrov
@yurii_petrov Жыл бұрын
Поскольку многие используют эту серию видео как справочник по командам и функциям ImageJ, сделал общее оглавление для всех видеосюжетов со ссылками на отдельные части: dzen.ru/a/ZFezUxF6lnJ9ZZVV
@yurii_petrov
@yurii_petrov Жыл бұрын
Поскольку многие используют эту серию видео как справочник по командам и функциям ImageJ, сделал общее оглавление для всех видеосюжетов со ссылками на отдельные части: dzen.ru/a/ZFezUxF6lnJ9ZZVV
@yurii_petrov
@yurii_petrov Жыл бұрын
Поскольку многие используют эту серию видео как справочник по командам и функциям ImageJ, сделал общее оглавление для всех видеосюжетов со ссылками на отдельные части: dzen.ru/a/ZFezUxF6lnJ9ZZVV
@user-hh8ug9it1t
@user-hh8ug9it1t Жыл бұрын
Можно ли анализировать цветные изображения?
@yurii_petrov
@yurii_petrov Жыл бұрын
На 00:19:43 про измерения с цветными изображениями.
@user-hh8ug9it1t
@user-hh8ug9it1t Жыл бұрын
@@yurii_petrov спасибо
@science_engineering
@science_engineering Жыл бұрын
знаю что уже обнаглел, но всё-таки спрошу ещё: а имеется ли способ прям в Imajej построить амплитудный фурье-спектр от графика Plot Profile (Ctrl+K), т.е. от графика "Уровень серого vs расстояние"? Или обязательно .csv открывать импортировать в стороннее приложение типа Wolfram или Matlab и там делать?
@yurii_petrov
@yurii_petrov Жыл бұрын
Готовой кнопки, чтоб так сделать, нет. Для амплитудного спектра можно написать макрос в пару строк: profile = getProfile(); // профиль вдоль линии сохранить как массив fourier = Array.fourier(profile); // сделать преобразование Фурье от массива Полученный массив состоит из амплитуд, а частоты надо считать отдельно. Нулевое значение - нулевая частота, первое значение - частота равная 1 делить на длину профиля, и так далее, по формуле частота[n] = n/(длина профиля), где n - номер элемента в массиве амплитуд Надо иметь ввиду, что, если размер анализируемого профиля не равен степени двойки, то можно получить разные артефакты, особенно если в функции fourier не используется windowType. Построить спектр можно как-то так: Plot.create("Fourier", "f", "amplitude", fourier); Plot.show(); Список всех возможных функция для макросов тут: imagej.nih.gov/ij/developer/macro/functions.html
@science_engineering
@science_engineering Жыл бұрын
@@yurii_petrov Благодарствую!) Как раз с частотами было не совсем понятно, потому что дискретное преобр-е Фурье в том же Вольфраме делается только по значениям амплитуд.. то бишь частоты надо вручную пересчитывать что, конечно же, не совсем удобно..))
@valentinbatir3129
@valentinbatir3129 Жыл бұрын
Лучшие уроки ImageJ на KZfaq 💯💯💯
@science_engineering
@science_engineering Жыл бұрын
Юрий, скажите.. а есть ли в ImajeJ возможность автоматизированных измерений штуковин, съёмка которых производилась под наклоном? Или тут уже никак и придётся вручную пересчитывать, например, умножая на условный синус?
@yurii_petrov
@yurii_petrov Жыл бұрын
Автоматизированных измерений нет, но можно откалибровать разный масштаб в разных направлениях. В Analyze->Set scale есть pixel aspect ratio, указыаающее как различается масштаб по горизонтальной и вертикальной осям. Можно один раз рассчитать этот самый синус, или косинус, и пользоваться. Либо можно растянуть или сжать изображение по одной из осей с помощью Image-> Scale, тогда калибровка по осям будет одинаковая. Главное помнить, что это работает только в одной плоскости, то есть, если поверхность, которую снимали под наклоном, плоская, то проблем с измерением нет, но если на ней есть выступы, то для каждого из них нужно знать угол к плоскости изображения, и тут уже один множитель на всё изображение не поможет.
@science_engineering
@science_engineering Жыл бұрын
@@yurii_petrov понял. У меня эталон вертикальной, в этом проблема. Ну что ж, домножим вручную, ничего страшного..))
@science_engineering
@science_engineering Жыл бұрын
Спасибо большое за серию уроков по ImajeJ. Канал отличный и недооцененный. Буду рекомендовать!
@science_engineering
@science_engineering Жыл бұрын
глупый (а возможно и не совсем глупый) вопрос: Почему на амплитудном спектре изображения определённые гармоники отображаются не чёткими светлыми точками, а как звёзды на небе, в виде крестов? Это что-то типа дисперсии и расплывании волнового пакета, из-за того что мы используем цифровые технологии и ввиду электронного шума? Давно про чё-то похожее читал, уже подзабыть успел..)
@yurii_petrov
@yurii_petrov Жыл бұрын
Это не совсем про расплывание волнового пакета) Яркая точка на Фурье-образе означает, что на изображении присутствует идеально периодический сигнал. А идеально периодический сигнал должен быть бесконечно длинным. Если сигнал ограничен по протяженности, то в спектре возникают дополнительные частоты, как в радиосигнале с импульсной модуляцией, или как в дифракции волн на кристаллах конечного размера. В двумерном случае вместо яркой точки появляется пятно, размытое в тех направлениях, в которых ограничена область периодического сигнала. Чем меньше размеры области периодического сигнала, тем сильнее размытие. В примере на видео периодический сигнал заполняет все изображение, а значит размер изображения ограничивает размеры периодического сигнала, границы вертикальные и горизонтальные. Именно в этих направлениях и размывается спектр и появляются "кресты" у каждой яркой точки. Если повернуть квадратную область периодического сигнала, так, чтобы на изображении возникли границы под углом к краям изображения, то и направления "крестов" повернутся. Если ограничить область с периодическим сигналом кругом, то никаких крестов наблюдаться не будет, поскольку края наблюдаются во всех направлениях на примерно одинаковом расстоянии. Другими словами, форма пятен около максимумов амплитуды Фурье-образа обратна форме областей с периодическим сигналом на изображении. Чем больше места на изображении в каком-то направлении занимает периодический сигнал, тем меньше размеры в этом направлении у соответствующего пятна на Фурье-образе. Если периодический сигнал в одной ограниченной области складывается из нескольких частот, то точки для всех этих частот на Фурье-образе будут одинаково размываться. И на самом деле хвосты около ярких точек не всегда такие яркие, как кажутся из-за логарифмического масштаба.
@science_engineering
@science_engineering Жыл бұрын
@@yurii_petrov понял, спасибо. Чем больше читаю ваши ответы и смотрю ваши видео, тем больше понимаю как же я далёк от обработки изображений))) база какая никакая есть: работаю инженером-расчетчиком, сейчас вот в аспирантуре понадобилась обработка результатов экспериментов тонкой структуры импакта капли, поэтому выбрали ImajeJ. Кажется что математика/физика везде одна - да как бы не так: тут полно своих фишечек при работе с изображениями..)) интерпретация результатов и всё такое прочее..
@science_engineering
@science_engineering Жыл бұрын
Юрий, тут вы не совсем правы (8-я минута). ImajeJ по результатам FFT показывает и амплитуду, и фазу: если приглядеться, то в строке состояния видны значения "r" и "theta", т.е. амплитуда и фаза (фаза суть угол). Без фазовой составляющей невозможно восстановить исходный сигнал, т.е. выполнить обратное преобр-е Фурье. Когда в наличии лишь амплитудная составляющая, мы можем определить лишь относительные уровни серого суммируемых изображений, но у нас не будет их относительных сдвигов друг от друга (фаза), т.е. потеряется пространственная связность изображения... Про это дело можно почитать, если в гугле вбить запрос "spatial frequency domain" - вторая ссылка, в разделе Discrete Fourier Transform и ниже в разделе про фильтрацию (кидаю ссылку, коммент удаляется). p.s.: переслушал, понял что тупанул: вы сказали , что выводится только амплитудный спектр. Так точно)
@yurii_petrov
@yurii_petrov Жыл бұрын
Как было справедливо замечено, выводится все же только амплитудный спектр. Значения r и theta в сроке состояния - это радиус и угол в полярных координатах на Фурье-образе, причем радиус приводится не в пространстве частот, а в единицах периода на исходном изображении, я про это говорю на 00:05:12 Если вдаваться в детали преобразования Фурье в ImageJ, то на самом деле ImageJ сначала делает быстрое преобразование Хартли (это свертка с суммой синуса и косинуса), потом из него находит вещественную и мнимую части Фурье-образа, как полусумму и полуразность симметричных частот, а потом находит амплитуду Фурье-образа, переводит в логарифмический масштаб и 8-битный формат и выводит в это окно. Комплексный Фурье-образ хранится отдельно, в 32-битном формате, как Вы правильно заметили, без полной информации не получится правильного обратного преобразования. В принципе можно вывести на экран и результат преобразования Хартли, и комплексный Фурье-образ в виде стека, и амплитудный спектр без логарифмического масштаба. Про это я вскользь упомянул на 00:14:27.
@science_engineering
@science_engineering Жыл бұрын
@@yurii_petrov да, наверно важные моменты промотал)) к слову о деталях: а хэлп imageJ у них на сайте найти можно? Или можно скачать что-то типа офлайн справки?
@yurii_petrov
@yurii_petrov Жыл бұрын
В меню Help -> Documentation открывается страница с описанием всего. Там есть и он-лайн справка по командам и пунктам меню, и pdf скачать можно. Естественно все на английском.
@science_engineering
@science_engineering Жыл бұрын
хорошие у вас уроки, Юрий... Спасибо)) Вопрос: а если я допустим хочу на одно полупрозрачное изображение наложить другое, то это как сделать? Если не ошибаюсь, то уроков, где вы "игрались" с прозрачностью, у вас не было...
@yurii_petrov
@yurii_petrov Жыл бұрын
Пожалуйста)) Хотя это не совсем уроки, скорее разбор инструкции по применению с примерами. Про полупрозрачные изображения: Один простой способ - использовать наложения (наложенные слои), я про это говорил тут: kzfaq.info/get/bejne/rtl1qricvd_Sl4E.html. Правда, ничего не сказал про прозрачность, а она там настраивается при вставке. Наложение можно двигать и масштабировать отдельно от изображения. Другой способ - использовать математику. Если задуматься, то полупрозрачное наложение математически эквивалентно усреднению изображений с весами, а соотношение весов и есть величина прозрачности. В калькуляторе изображений, или при вставке с использованием "Paste control" , в режиме усреднения используется среднее арифметическое, то есть прозрачность равна 50%. Можно предварительно умножить одно изображение на один вес, а второе на другой, а потом сложить их в калькуляторе изображений, но это три действия вместо одного. Можно пойти дальше и написать для них макрос, ну и так далее... Если нужно наложить несколько изображений, то можно собрать их в стек и сделать проекцию по оси z, правда веса опять придется настраивать отдельно.
@science_engineering
@science_engineering Жыл бұрын
а что насчёт цветных изображений? Пробовал различные фильтры к RGB изображения из встроенных примеров (Leaf) - работает..
@yurii_petrov
@yurii_petrov Жыл бұрын
В принципе с RGB все фильтры работают также, просто с каждым каналом отдельно, как с тремя независимыми изображениями. Можно разделить цветное изображение на три отдельных (split channels), к каждому применить фильтр, а потом обратно собрать цветное, результат будет такой же. С точки зрения записи формул, все скалярные функции f(x,y) заменятся на вектора в пространстве RGB, зависящие от тех же координат(x,y), но операции сложения и умножения на число применяются к каждой координате вектора независимо.
@nagachiko
@nagachiko Жыл бұрын
Не знаю как я сюда попал, но очень интересно
@user-jc3en9bn2c
@user-jc3en9bn2c Жыл бұрын
Здравствуйте! можно ли как-то с Вами связаться для объяснения более тонких моментов?) Заранее спасибо за ответ
@yurii_petrov
@yurii_petrov Жыл бұрын
Добрый день! При необходимости со мной можно связаться по моему рабочему адресу: [email protected].
@Valera197615
@Valera197615 Жыл бұрын
Лайк для развития канала! Всем творческих успехов! Спасибо Вам за контент.
@user-qs1rh5vr9t
@user-qs1rh5vr9t 2 жыл бұрын
Спасибо большое!
@elenasolonenko4999
@elenasolonenko4999 2 жыл бұрын
Это очень нужный канал. Спасибо.
@elenasolonenko4999
@elenasolonenko4999 2 жыл бұрын
Спасибо!