Форум: "Прочее";
Текущий архив: 2006.06.11;
Скачать: [xml.tar.bz2];
ВнизУзнать ширину и высоту картинки по её размеру Найти похожие ветки
← →
Yegorchic © (2006-05-04 18:56) [0]Задача такая: "Узнать ширину и высоту монохромной картинки (BMP) размером 300kb."
Такая задача решаема?
← →
Kerk © (2006-05-04 18:58) [1]В общем случае - нет.
← →
McSimm © (2006-05-04 18:58) [2]в общем случае нет, т.к. решений может быть несколько.
возможны частные случаи, когда решение единственное
← →
Yegorchic © (2006-05-04 19:00) [3]Учительница по информатике на контрольной дала такое задание. Я сказал что решить это нельзя. Т.е. прав я или она?
← →
McSimm © (2006-05-04 19:07) [4]
> Учительница по информатике на контрольной дала такое задание.
> Я сказал что решить это нельзя. Т.е. прав я или она?
А она сказала, что можно ?
Может условие не точно воспроизвел ?
← →
API © (2006-05-04 19:10) [5]Т.е. прав я или она?
Ни Вы, ни она.
На Вашем бы месте я бы просто нашел (конечное) множество пар целых чисел, произведение которых дает 300 КБ (минус заголовок и палитра).
P.S. Если это BMP, то изобретать ничего не нужно. Размер в 300 КБ в условии задачи - для замыливания глаз. В заголовке хранится информация о высоте и ширине.
← →
Desdechado © (2006-05-04 19:10) [6]поскольку возможно много ответов, то права она
← →
McSimm © (2006-05-04 19:10) [7]300Kb = 307200b
307200-66(header) = 307134 (палитры вроде не должно быть в монохромном?)
2*153567
6*51189
18*17063
и т.д.
← →
oldman © (2006-05-04 19:12) [8]Срочно читаем доку по заголовкам файлов.
Если вдруг находим "формат заголовка bmp - байты N1 и N2 - размеры картинки", значит можно...
Если нет - то нет...
Причем, заметь - от размера файла не зависит!!! :)))
Но уж читать - сам, сам, сам...
← →
McSimm © (2006-05-04 19:14) [9]
> P.S. Если это BMP, то изобретать ничего не нужно. Размер
> в 300 КБ в условии задачи - для замыливания глаз. В заголовке
> хранится информация о высоте и ширине.
узнать высоту и ширину имеющегося файла bmp и узнать высоту и ширину bmp, если известно, что размер файла 300Kb - разные задачи. Зависит от формулровки.
> поскольку возможно много ответов, то права она
раз возможно много равноценных ответов, значит узнать размеры картинки нельзя.
← →
Yegorchic © (2006-05-04 19:15) [10]
> А она сказала, что можно ?
Да.
> Может условие не точно воспроизвел ?
Да вроде точно... хотя нет, было не BMP, а "растровое". А так всё точно верно.
> На Вашем бы месте я бы просто нашел (конечное) множество
> пар целых чисел, произведение которых дает 300 КБ (минус
> заголовок и палитра).
Да, но она давала какую-то формулу (щас не могу её написать, я тогда болел), по которой высчитывался этот самый размер.
Но посмотрев ту тему в тетрадках одноклассников, формулы я никакой не нашёл, но нашёл пример, в котором высчитывался размер картинки по её ширине и высоте. Да, это можно сделать, но обратное же нельзя? Может она всё-таки что-то напутала?
← →
McSimm © (2006-05-04 19:16) [11]
> Да, это можно сделать, но обратное же нельзя? Может она
> всё-таки что-то напутала?
Я обычно никогда не боялся обсуждать это с самим преподавателем.
← →
oldman © (2006-05-04 19:16) [12]Ради примера:
заголовок PCX:
char manuf; всегда 10 для paintBrush
char hard; инфа о версии
char encod; групповое кодирование (=1)
char bit px; бит на точку
int x1; вот они и начались, размеры!
int y1;
int x2;
int y2; а вот они закончились!!!...
← →
McSimm © (2006-05-04 19:17) [13]Если известно только, что растровое, то размера файла точно недостаточно.
Размер заголовка и хотя бы одна из величин еще нужны
← →
Yegorchic © (2006-05-04 19:45) [14]
> Я обычно никогда не боялся обсуждать это с самим преподавателем.
Она у нас учитель не совсем постоянный, поэтому на перемене найти её я не могу. Я в то время когда я писал контрольную, она вела другой урок, поэтому убсуждать она ничего, конечно же не стала. А так она завтра придёт, и я собираюсь у неё спросить всё...
> Если известно только, что растровое, то размера файла точно
> недостаточно.
> Размер заголовка и хотя бы одна из величин еще нужны
Но даже есть не учитывать все эти заголовки, то всё равно нельзя же решить эту задачу...
← →
Хозяин (2006-05-04 19:49) [15]Задача такая: "Узнать ширину и высоту монохромной картинки (растровое) размером 300kb."
Придумать свой формат можно?
;)
← →
oldman © (2006-05-04 20:08) [16]
> Yegorchic © (04.05.06 19:45) [14]
> Но даже есть не учитывать все эти заголовки, то всё равно
> нельзя же решить эту задачу...
Ага...
Наводишь мышку на .bmp и в хинте читаешь: "файл bmp, размер NxM, L цветов"
Блин, откуда он их берет?
← →
Yegorchic © (2006-05-04 20:12) [17]
> Блин, откуда он их берет?
Да нет... Вы не поняли, я не про bmp же говорю.
Я имею ввиду то, что такую задачу никак нельзя решить: "Узнать ширину и высоту монохромной картинки (растровой) размером 300kb." (чуть-чуть отличается от [0])
← →
oldman © (2006-05-04 20:15) [18]
> Yegorchic © (04.05.06 20:12) [17]
> Я имею ввиду то, что такую задачу никак нельзя решить: "Узнать
> ширину и высоту монохромной картинки (растровой) размером
> 300kb." (чуть-чуть отличается от [0])
не зная типа картинки - нельзя!
← →
Yegorchic © (2006-05-04 20:17) [19]
> не зная типа картинки - нельзя!
Всё! Это мне и нужно было!
Всем спасибо!
← →
oldman © (2006-05-04 20:19) [20]
> Yegorchic © (04.05.06 20:17) [19]
Но...
мы же можем проанализировать заголовок...
← →
Хозяин (2006-05-04 20:21) [21]oldman © (04.05.06 20:19) [20]
Если он есть
;)
← →
oldman © (2006-05-04 20:29) [22]
> Хозяин (04.05.06 20:21) [21]
> oldman © (04.05.06 20:19) [20]
>
> Если он есть
Подскажи хоть один растровый граф.формат без заголовка :)))
Система его как распознает, можно спросить?
← →
Хозяин (2006-05-04 20:34) [23]Вот сейчас придумаю растровый граф. формат, напишу прибампас для Системы, и будет имено то, что Вы хотите.
;)
Ну конечно он будет не такой универсальный как с заголовком.
← →
ЛшдлуттнСфе (2006-05-04 20:35) [24]Имхо, речь не о заголовке. Не забывайте - урок информатики, какие, нафиг заголовки?
теоретический растровый монохромный файл - прямоугольник икс на игрек с белыми и черными точками. Имея икс и игрек можно посчитать площадь точек (размер файла). Но это необратимое кодирование. Равносильный вопрос на языке геометрии: как, имея площадь прямоугольника, определить его ширину и высоту? Никак, за исключением частных случаев.
← →
Yegorchic © (2006-05-04 20:51) [25]
> Но...
> мы же можем проанализировать заголовок...
Прочитайте [14]:
> Но даже есть не учитывать все эти заголовки, то всё равно
> нельзя же решить эту задачу...
> ЛшдлуттнСфе (04.05.06 20:35) [24]
Вот. Это я и хотел сказать, и вроде сказал в [10].
← →
ferr © (2006-05-04 21:02) [26]
> Равносильный вопрос на языке геометрии: как, имея
> площадь прямоугольника, определить его ширину и
> высоту? Никак, за исключением частных случаев.
частный случай? длина прямоугольника не дискретна
← →
oldman © (2006-05-04 21:07) [27]
> Yegorchic © (04.05.06 20:51) [25]
>
> > Но...
> > мы же можем проанализировать заголовок...
>
>
> Прочитайте [14]:
Прочитал.
Мы таки можем проанализировать заголовок...
Конечно, если мы знаем известные форматы заголовков.
← →
Zeqfreed © (2006-05-04 21:09) [28][27] oldman © (04.05.06 21:07)
Да нет никаких заголовков. Raw data.
← →
Yegorchic © (2006-05-04 21:14) [29]
> oldman © (04.05.06 21:07) [27]
Зачем анализировать? Я же там написал "если не учитывать все эти заголовки"... не учитывать... то и анализировать не надо...
← →
oldman © (2006-05-04 21:18) [30]
> Yegorchic © (04.05.06 21:14) [29]
>
> > oldman © (04.05.06 21:07) [27]
>
>
> Зачем анализировать? Я же там написал "если не учитывать
> все эти заголовки"... не учитывать... то и анализировать
> не надо...
набей морду преподу... фигня какая-то... как это "не учитывать"? растровых форматов много. некоторые из них кодированы хитро...
← →
Yegorchic © (2006-05-04 21:21) [31]Читайте [24] - от меня требовали именно это.
← →
Zeqfreed © (2006-05-04 21:23) [32][30] oldman © (04.05.06 21:18)
Ты (надеюсь, можно на ты) пытаешься перенести учебную задачу в реальные условия. В задаче ничего не говорится ни про какие форматы. Raw data, повторюсь. Насколько я понял. Т.е. можешь считать это монохромной bmp"шкой с отрезанным заголовком. Насовсем отрезанным.
← →
Хозяин (2006-05-04 21:23) [33]Yegorchic © (04.05.06 21:21) [31]
Ага, поняли.
Только вот еще соображаю, что можно еще сообразить :)
← →
oldman © (2006-05-04 21:29) [34]
> Zeqfreed © (04.05.06 21:23) [32]
Возьмем простой пример: файл размером 6 бит. (предположим, что 1 пиксел=1 бит)
имеем 4 варианта:
1х6
2х3
3х2
6х1
То есть, где-то должен быть приписан размер.
Где, кроме заголовка???
← →
Yegorchic © (2006-05-04 21:30) [35]
> То есть, где-то должен быть приписан размер.
> Где, кроме заголовка???
Вот. Т.е. задача нерешаема!!!
← →
Zeqfreed © (2006-05-04 21:31) [36][34] oldman © (04.05.06 21:29)
Это вопрос не ко мне, а к автору задания. Это просто набор байтов, а не изображение предопределенного формата, ну как ещё то объяснить? И если задача не корректна, то это не значит, что стоит что-либо домысливать, согласно привычному положению вещей.
← →
oldman © (2006-05-04 21:35) [37]
> Yegorchic © (04.05.06 21:30) [35]
> Вот. Т.е. задача нерешаема!!!
Решаема. Если знаешь формат файла!
Предположим, формат:
1: белый пиксел
2: черный пиксел
3: перевод строки
Тогда файл "111131221312213111" однозначно рисует белый квадрат с черным заполнением размером 4х4.
← →
homm © (2006-05-04 21:47) [38]
> Решаема. Если знаешь формат файла!
Да сказано, же что не указан формат, что ты как баран уперся в него. Нет его. Задача дана конкретная, ничего домвсливать не надо.
ps сори, накипело пока читал...
← →
oldman © (2006-05-04 21:51) [39]
> homm © (04.05.06 21:47) [38]
> Да сказано, же что не указан формат
Ага. Прикольно. Вам пришло N байт. Нарисуйте их, думая. что это растр...
Задача должна быть поставлена нормально!
ps сорри, накипело на таких постановках курсовиков...
← →
Zeqfreed © (2006-05-04 21:54) [40]Это не курсовик. Насколько я понимаю, автор учится в школе (my excuses, если ошибаюсь). Задачу дали на уроке информатики. Задача не корректна. Возможно, учительница что-то перепутала, возможно, сам автор.
Был тут один, про Структуру рассказывал. Структуры, форматы…
Страницы: 1 2 вся ветка
Форум: "Прочее";
Текущий архив: 2006.06.11;
Скачать: [xml.tar.bz2];
Память: 0.55 MB
Время: 0.012 c