Перевод пикселей в миллиметры: Перевести пиксели (pix) в миллиметры (mm) онлайн. Сколько миллиметров (mm) в пикселе (pix)?

Нахождение фокусного расстояния по размеру изображения и FOV

 Code_Kid&nbsp  &nbsp  1253

Code_Kid / 13 марта 2018

Я наткнулся на это утверждение в инженерном журнале. Это утверждение упоминается в примере с правой стороны.

Изображение 640×480 с горизонтальным полем обзора 47 градусов дает фокусное расстояние f = 740 пикселей.

Пожалуйста, дайте мне знать об этом, так как я очень плохо знаком с компьютерным зрением.

  • фокусное расстояние
  • обработки изображений
  • поле-обзор

1 голос

aaaaaa / 13 марта 2018

Я буду использовать это изображение, чтобы проиллюстрировать, почему фокусное расстояние можно измерять в пикселях и что они означают под этими числами:

Треугольники (большие и маленькие) похожи, то есть углы одинаковы. Таким образом, угол обзора будет таким же, как и верхний угол (у объектива) меньшего треугольника. Исходя из этого, поскольку вы знаете размер сенсора и угол обзора, вы можете рассчитать фокусное расстояние в пикселях, как рассчитал для вас @remco.

Фактически, единицы измерения размера датчика должны быть точно такими же, как и единицы измерения фокусного расстояния, чтобы иметь смысл F=A/tan(a). Что вы можете получить из этого, если у вас больше пикселей (в см), вам потребуется большее фокусное расстояние (в см) для того же поля зрения и количества пикселей.

1 голос

remco / 13 марта 2018

Это базовая геометрия: у вас есть прямоугольный треугольник с половиной поля зрения в качестве одного из углов (a) и половиной размера изображения в качестве противоположной стороны ( A ). Чтобы рассчитать фокусное расстояние F , используйте tan ( a ) = A / F ,
что дает F = A / tan (a).

В статье указывается, что горизонтальное поле обзора составляет 47 °, поэтому мы должны использовать

A = 640/2 = 320, a = 47 ° / 2 = 23,5 °, что дает F = 736 пикселей.

Поскольку размер вашего сенсора указан в пикселях (предполагается, что это квадратные пиксели!), Ваше фокусное расстояние также будет в пикселях. Чтобы получить его в более обычной единице (м), вам нужно знать размер пикселя.

0 голосов

Alan Marcus / 13 марта 2018

Угол зрения рассчитывается по тригонометрии.

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

Чтобы рассчитать угол обзора: Найти ATAN (arc tan) ½ измерения, деленного на фокусное расстояние, умножить их на 2.

Решить для измерения 640 ATAN (640 ÷ 740 X 0,5) X 2 = ATAN (0,4324) X 2 = 23,3852 X 2 = 46,77 °

0 голосов

WayneF / 13 марта 2018

По словам Германа, фокусное расстояние НЕ измеряется в пикселях. Я сильно сомневаюсь, что инженерный журнал сказал, что фокусное расстояние было в пикселях.

Что нужно знать для поля зрения, так это размер датчика камеры (или размер пленки) , измеренный в мм Вы должны рассчитать с размерами датчика в мм.

Есть калькулятор, который сделает это на https://www.scantips.com/lights/fieldofview.html (Вариант 6). Геометрия показана внизу этой страницы, однако вы должны использовать Trig для углов.

tkMath, преобразование между пикселями, дюймами, см и мм «рецепты Python» код ActiveState

нужен способ вернуться к вашим предпочтительным единицам измерения. Недавно я оказался в такой ситуации. Здесь нет ничего особенного в наборе функций, это скорее малоизвестная функция winfo_fpixels(). Как только вы об этом узнаете, все остальное станет проще простого. Эти функции просты, но удобны.

Python, 112 строк

Скачать

 1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109110
111
112 
 класс tkMath (объект):
   PIXELS_PER_INCH = 0
   PIXELS_PER_CM = 0
   PIXELS_PER_MM = 0
   PIXELS_PER_POINT = 0
   
   @статический метод
   настройка защиты (корень):
      '''Должен вызываться перед использованием любого из методов для инициализации
      константы преобразования.
''' tkMath.PIXELS_PER_INCH = root.winfo_fpixels('1i') tkMath.PIXELS_PER_CM = root.winfo_fpixels('1c') tkMath.PIXELS_PER_MM = root.winfo_fpixels('1m') tkMath.PIXELS_PER_POINT = root.winfo_fpixels('1p') @статический метод определение пикселей в дюймы (пиксели): '''Конвертировать пиксели (число с плавающей запятой Python или целое число) в дюймы''' возвращаемые пиксели / tkMath.PIXELS_PER_INCH @статический метод Def PixelsToCM (пиксели): '''Конвертировать пиксели (число с плавающей запятой Python или целое число) в сантиметры''' возвращаемые пиксели / tkMath.PIXELS_PER_CM @статический метод Def PixelsToMM (пиксели): '''Преобразовать пиксели (число python с плавающей запятой или целое число) в миллиметры''' возвращаемые пиксели / tkMath.PIXELS_PER_MM @статический метод Def PixelToPoints (пиксели): '''Преобразование пикселей (python float или int) в точки.''' возвращаемые пиксели / tkMath.
PIXELS_PER_POINT @статический метод определение дюймов в пикселях (дюймы): '''Конвертировать дюймы (python float или int) в пиксели''' вернуть дюймы * tkMath.PIXELS_PER_INCH @статический метод определение cmToPixels (см): '''Конвертировать сантиметры (число python с плавающей запятой или целое число) в пиксели''' вернуть см * tkMath.PIXELS_PER_CM определение mmToPixels (мм): '''Конвертировать миллиметры (число с плавающей запятой Python или целое число) в пиксели'''. вернуть мм * tkMath.PIXELS_PER_MM def pointsToPixels(точки): '''Преобразование точек (python float или int) в пиксели.''' точки возврата * tkMath.PIXELS_PER_POINTS @статический метод определение пикселей (tkCoord): '''Удобная функция для дюймов, см, мм и pointsToPixels(). Преобразование tkCoord (строка с добавлением «i», «c», «m» или «p») в пиксели.''' если isinstance( tkCoord, str ): если tkCoord[-1] == 'i': вернуть tkMath.
inchesToPixels( float(tkCoord[:-1])) Элиф tkCoord[-1] == 'с': вернуть tkMath.cmToPixels( float(tkCoord[:-1])) Элиф tkCoord[-1] == 'м': вернуть tkMath.mmToPixels( float(tkCoord[:-1])) Элиф tkCoord[-1] == 'р': вернуть tkMath.pointsToPixels( float(tkCoord[:-1])) еще: вернуть поплавок (tkCoord) еще: вернуть tkCoord @статический метод определение сравнения (координата1, координата2): '''Сравните два показателя tk - они не обязательно должны быть в одних и тех же единицах измерения'''. вернуть tkMath.coordToPixels(coord1) - tkMath.coordToPixels(coord2) @статический метод определение добавить (координата1, координата2): '''Добавьте две меры tk -- они не обязательно должны быть в одних и тех же единицах измерения'''. вернуть tkMath.coordToPixels(coord1) + tkMath.coordToPixels(coord2) @статический метод def sub(координата1, координата2): '''Вычтите два показателя tk -- они не обязательно должны быть в одних и тех же единицах измерения'''.
вернуть tkMath.coordToPixels(coord1) - tkMath.coordToPixels(coord2) @статический метод def tkPolar( x1, y1, x2, y2 ): '''Вычислить направление (в радианах, 3 часа равно 0, вниз — 1/2 PI и т. д.) и расстояние (в пикселях) между точками. Все аргументы должны быть в одних и тех же единицах измерения (python float или int). Результат находится в тех же единицах, что и аргументы.''' импортировать математику deltaX = math.fabs( x1 - x2 ) deltaY = math.fabs( y1 - y2 ) направление = math.atan2(deltaY, deltaX) расстояние = math.sqrt( math.pow(deltaX, 2) + math.pow(deltaY, 2)) обратное направление, расстояние @статический метод def tkCartesian(x, y, направление, расстояние): '''Дополнительно к tkPolar(). Учитывая точку x, y, направление в радианы (0 на 3 часа, 1/2 PI прямо вниз и т. д.) и расстояние (все как python float или int). Эта функция возвращает x и y конечной точки.''' импортировать математику deltaX = расстояние * math.
cos(направление) deltaY = расстояние * math.sin(направление) вернуть x + deltaX, y + deltaY

Очевидно, мне не нужно было определять класс, поскольку все методы являются статическими. Это просто предпочтение дизайна. Перед вызовом любого метода в этом классе необходимо вызвать setup() и передать ему виджет. Подойдет любой старый виджет. Это нужно сделать только один раз. setup() будет использовать виджет для определения констант преобразования. Я предпочитаю вызывать setup сразу после создания корневого виджета, поэтому я назвал свой параметр «root».

Каждая из шести функций преобразования требует своего аргумента в виде числа с плавающей запятой Python или целочисленного значения. Поплавки Python всегда возвращаются.

tkDistance — это простая реализация теоремы Пифагора. Все четыре аргумента должны быть в Python с плавающей запятой или целочисленными значениями, все в одних и тех же единицах измерения (пиксели, дюймы, см или мм). Результатом является число с плавающей запятой Python в тех же единицах, в которых оно было введено. Я нашел общую идиому для их использования:

root = Tk() tkMath.setup(корень)

… определение myEventCB (событие): Distance = tkMatho.tkDistance(initialx, initialy, event.x, event.y)

DistanceInInches = tkMath.pixelsToInches(расстояние)

вектор требует, чтобы все аргументы были как числа с плавающей запятой Python и/или целые числа. направление должно быть указано в радианах с нулем на 3 часа и значениями, увеличивающимися по часовой стрелке: так, прямо вниз 1/2 * PI, влево, если PI, и прямо вверх 3/2 * PI. Если x1,y1 — начальная координата вектора, результатом будет кортеж x,y конечных координат.

Я обнаружил, что измерения tk очень точны на любом дисплее, с которым я экспериментировал. То есть, если я сделаю что-то, например, нарисую 3-дюймовую линию на виджете холста и измерю ее линейкой по отношению к экрану, я получу около трех дюймов.

Теги: алгоритмы

фото-размер-Converter-CM-Google Suce

ALLBILDERVIDEOSNEWSMAPSSHOPPINGBücher

SUCOOPTION

IMRESIZER: CRESSIZE IMARE в CM, MM или PIXEL ORELONTEN ORLENTINTEN

9999999999999999999999999999999999999999999999999999999999.

9999999999999999999999999999999999999999999999999999999999999. свою фотографию, введите желаемые размеры в сантиметрах, миллиметрах, дюймах или пикселях и загрузите изображение с идеально измененным размером за несколько секунд.

Изменение размера файла · ImResizer · Ссылки

Изменение размера изображения в CM: Инструмент изменения размера фотографии

resizeimageincm.com

Легко изменяйте размер изображений в CM онлайн. Здесь легко изменить размер любого изображения в сантиметрах, просто загрузите любой формат изображения, такой как jpg, png, jpeg и т. д., и введите свой размер, а затем … .com › resize-image

Это средство изменения размера изображения может помочь вам изменить ширину и высоту изображения, а также увеличить или уменьшить размер изображения. Вы можете указать ширину и высоту или …

Изменение размера фото в дюймах или сантиметрах для печати с учетом…

www.imgonline.com.ua › rus › resize-image-centim…

Изменение размера изображения в дюймах или сантиметрах для печати на бумага, с учетом DPI онлайн. Укажите изображение на компьютере или телефоне, введите размер …

Ähnliche Fragen

Как изменить размер фотографии в см?

Что такое конвертер 4,5*3,5 см в пикселях?

Какой размер фотографии 4,5 см?

Какой размер фото на паспорт в конвертер см?

Изменение размера и кадрирование онлайн-фото | Измените размер и обрежьте свою фотографию и …

imageresize.me

Изменение размера и обрезка фотографий в Интернете — Измените размер и обрежьте свои фотографии и подписи онлайн для заполнения экзаменационных форм GATE, NEET, CAT, Bank PO и т. д.

Ширина: 207
Высота: 266

Изменение размера изображения в КБ, МБ — дюйм, см, мм

miniimagesvideos. com › resize_image_online

Изменить размер изображения до 50 КБ, 100 КБ, 200 КБ. Преобразование фото в 50 КБ, 100 КБ, 200 КБ. Изменение размера нескольких изображений в пикселях, мм, см, дюймах.

Сжатие и изменение размера изображения для вашей формы: Form Picure — Formpicture.com

formpicture.com › custom

Изменение размера и сжатие изображения любого размера до любого размера. Изменение размера изображения в мм, px, см, pt, em, %, in. … Преобразование изображения для вашей формы. Форма изменения:.

3,5×4,5 см Photo Resizer

formphotoeditor.com › resizer › 3,5×4,5 см

Изменение размера, сжатие и преобразование фотографии в ширину 3,5×4,5 см (сантиметра) и … также можно настроить разрешение dpi и максимальный размер файла в килобайтах и ​​мегабайтах после выбора файла.

Максимальный размер: 20 КБ
Ширина: 3,5 см (413 пикселей)
Высота: 4,5 см (531 пиксель)
Разрешение (DPI): 300

pixelcalculator.

Перевод пикселей в миллиметры: Перевести пиксели (pix) в миллиметры (mm) онлайн. Сколько миллиметров (mm) в пикселе (pix)?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Пролистать наверх