Популярное
Темы
Сообщества
СправкаПоддержкаУсловия© 2023 ООО «Яндекс»
ОптикаПикселиНастройка камеры
Анонимный вопрос
23 декабря 2020 · 152
ОтветитьУточнить
Юрий Меркулов
Технологии
769
Фотограф с 35 летним стажем. Видеоопеатор. Снимаю фото и видео для продвижения в… · 18 янв 2021 ·
merkyuri
Вам нужно поделить длины сторон сенсора на количество пикселей по ним и перемножить полученные значения. Произведение длины и ширины одного пикселя даст вам его площадь.
Понравился ответ? Ставьте лайк и подписывайтесь на меня здесь и в инстаграм.
Перейти на instagram.com/merkyuri
Комментировать ответ…Комментировать…
Вы знаете ответ на этот вопрос?
Поделитесь своим опытом и знаниями
Войти и ответить на вопрос
Когда-то давно, не помню откуда, переписал такой совет:
Как можно измерить площадь сложной фигуры?
Для четко выраженного одноцветного объекта это довольно просто. Необходимо воспользоваться всего одной опцией PhotoShop: это Image -> Histogram (Изображение -> Гистограмма). Далее на нижней полосе вы находите точку, которая соответствует необходимому цвету, и в поле графика над этой точкой устанавливаете курсор. В результате в окне данной опции отобразится множество настроек и параметров, но вам необходимо обратить внимание на такую величину, как Count, так как именно она указывает на количество пикселей данного цвета. После этого можно пересчитать, какое количество пикселей приходится на сантиметр квадратный, принять во внимание масштаб, в котором сканировалось изображение, и получить готовый результат. Однако в применении данного способа есть один нюанс. Он удобен тогда, когда объект одноцветный с четко выраженными краями, что бывает крайне редко. Я предлагаю вам следующий способ измерения площади сложной фигуры, который можно применить практически в любой ситуации. Для того чтобы к любому разноцветному участку изображения применить данный способ вычисления, необходимо выделить требуемый объект, то есть создать его маску (как это сделать, описывалась раньше, причем разные способы), затем залить выделение черным цветом, инвертировать его Select -> Invert (Выделение -> Инвертировать, Ctrl+Shift+I) и залить белым. После данного преобразования ваше изображение станет двухцветным, и необходимый черный участок пикселей можно будет увидеть на гистограмме с левой стороны в виде очень тонкой черной вертикальной полоски. Если навести на нее курсор, то в описанном ранее поле будет указано количество пикселей, из которых и состоит объект.
Часто у людей возникает задача – определить, а сколько пикселей в цифровом рисунке занимает тот или иной цвет. Недавно я сам столкнулся с подобного рода задачей, при этом, в сети почти нет информации по её решению. Понадобилось обратиться за помощью к друзьям, плюс, коллеги по работе давали советы. Но, в итоге, удалось найти некий алгоритм, который позволяет решить поставленную задачу легко и быстро. И сегодня я этот метод подробно опишу.
Многие, конечно, недоумённо спросят – зачем вообще может понадобится считать количество пикселей, занятых определённым цветом? Однако задачи могут быть самыми разными. Мне, например, нужно было посчитать на карте глубин водоёма соотношение площади водной поверхности участков с разными глубинами. На карте, соответственно, они имели разный цвет, следовательно, для вычисления площади (в данном случаи, в пикселях) нужно было определить, сколько пикселей входит в каждый из цветов. Аналогичная задача может возникнуть и при необходимости определить площадь лесного массива на основе имеющейся или составленной карты.
Карту, над которой я работал, публиковать не буду, но вместо неё, для примера, возьмём кусок стандартной карты водоёма из электронной базы «Дороги России. Топо 6.22.4594».
Карта акватории озера, видно, что каждая глубина имеет свой цвет
Для обработки изображения будем использовать самый популярный редактор Adobe Photoshop, в данном случаи, версию CC (если кто-то всерьёз задумывается о стоимости этого ПО, то напомню, что мы в России и скачать из сети можно что угодно и совершенно бесплатно, но, допустим, что в данном случаи мы работаем в пробной версии, которая имеет полный функционал в течении 30 дней).
Открываем файл в редакторе и выделяем требуемую акваторию (благодаря инструменту «волшебная палочка», при его правильной настройке, это дело нескольких секунд, даже если речь идёт об очень больших файлах, а требуемые нам цвета разбросаны по рисунку отдельными пятнами).
Выделенная акватория, площадь которой, в пикселях, нам надо узнать.
Далее смотрим на гистограмму в правом углу, прежде всего, нас интересует цифра, стоящая после слов «уровней кэш». Если там была бы единица, то число пикселей было бы показано после соответствующего значения (выделено красным, как и предыдущей параметр). Но, в нашем случаи, кэш равняется двум, а значит, использовать такой результат для данной задачи нельзя. Однако для получения требуемых данных достаточно нажать на треугольник с восклицательным данным, после чего, отобразится простое число пикселей в выделенной области.
Итоговый результат, видно, что у нас 404665 пикселей
На этом всё, задача решена.
Правда, как мне подсказали, решить такую задачу можно ещё двумя методами – с использованием пакета «Матлаб» или же при помощи программы ImageJ. Однако первый вариант достаточно трудоёмкий из-за сложностей в освоении «Матлаб», а ImageJ банально отказалась запускаться на моём компьютере, от того, пришлось выполнять задачу с помощью Photoshop
$begingroup$
Let’s say I have some surface rasterized and stored to a texture. How do I calculate the actual surface area that is visible in one of the rasterized pixels, from some other location?
So far, I’m assuming it’s
A_visible = A * cos(theta) / d^2
where d = distance from viewer, theta = angle between normal and viewer-surface direction, A = … I’m not even sure how to express it. I guess you could call it the “world space area” of the pixel.
Is the above equation even correct? How do I determine “A? Notice that I’m not only looking for the area strictly as visible from the (e.g. perspective) camera. I’d also like to compute this area as visible from other surfaces, i.e. other surface areas that receive light from all around its hemisphere above the surface.
asked Feb 4, 2014 at 4:03
TravisGTravisG
4,3944 gold badges35 silver badges58 bronze badges
$endgroup$
8
$begingroup$
To find the area that a pixel contains you can use the solid angle equation where
A_s / ||d_s||^2 = A_near / ||d_near||^2
A_s = the surface of the pixel at d_s distance
A_near = the surface of the pixel at the near plane
You know d_s
and d_near
so you have to find A_near
A_near = width * height = 4 * tan(FOV/2)^2 * d_near^2 / ( aspectRatio * Nx * Ny )
Where width and height are the width and height of the pixel
FOV = Field of View of your projection matrix
AspectRatio = height to width ratio
Nx and Ny are the number of texels in horizontal and vertical directions of the image
This way you can find the A_s
which is the surface area of your pixel when its normal is perpendicular to the viewing direction. To find the correct area surface you just have to multiply A_s
with cos(theta)
where theta
is the angle of normal and view direction (actually -viewDirection
).
answered Feb 4, 2014 at 9:24
$endgroup$
6
You must log in to answer this question.
Not the answer you’re looking for? Browse other questions tagged
.
Not the answer you’re looking for? Browse other questions tagged
.
Лучший ответ
Савелий Федоров
Знаток
(321)
13 лет назад
большинство программа просмотрщиков показывает вам разрешение картинки. Это и есть колличество пикселей по вертикали и горизонтали – теперь умножайте.
Остальные ответы
Саня Нор-Аревьян
Профи
(595)
13 лет назад
Pain.NET тот же самый Paint только намного лучше
Мефистофель – Орлеанский
Искусственный Интеллект
(106948)
13 лет назад
Умножением
я это я
Гуру
(3357)
13 лет назад
при наведении мышью на файл изображения показываются размеры и имя файла
AntR
Просветленный
(30399)
13 лет назад
Размер пикселя 1/72 часть французского дюйма.
Отсюда и разиер можно всегда вычислить.
А площадь в пикселях – просто перемножить размеры (вертикальн. и горизонтальн.)