Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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
2-1148304847
Gagarin_MSX
2006-05-22 17:34
2006.06.11
Как циклически проследить выполнение?


2-1148361462
Konnor
2006-05-23 09:17
2006.06.11
Reboot


3-1144835299
RomanH
2006-04-12 13:48
2006.06.11
IBDataSet(удаление, добавление, редактирование)


15-1147882047
Копир
2006-05-17 20:07
2006.06.11
А не выпить ли нам грузинского вина?


3-1145340573
Alexey V.
2006-04-18 10:09
2006.06.11
Для чего нужны хранимые процедуры?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский