|
|
|
обработка изображения
|
|||
|---|---|---|---|
|
#18+
Хочу прочитанное из файла изображение подвергнуть вч или нч фильтрации. Делал такое раньше для черно-белого изображения. С цветным пока не пробовал. Надо обрабатывать отдельно по каждой из трех компонент ? Здесь проблема не программная больше, а надо знать как из трех основных цветов формируется цветное. Если зависимость не линейная, то просто обрабатывать по отдельности каждый цвет мало - надо знать в какой пропорции их потом "сложить". Кто-нибудь делал ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2006, 09:49 |
|
||
|
обработка изображения
|
|||
|---|---|---|---|
|
#18+
Блин, ты в курсе, сколько различных форматов изображений ? Я только штук 10 знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2006, 10:19 |
|
||
|
обработка изображения
|
|||
|---|---|---|---|
|
#18+
MasterZivБлин, ты в курсе, сколько различных форматов изображений ? Я только штук 10 знаю. Я говорю не о форматах. У меня книжка по форматам. Там их бездна. Шучу, но конечно больше 10. Я говорю лишь о том, что черно-белое изображение.Там обрабатываешь (фильтруешь) амплитуду (значение). Цветное формируется из 3 базовых цветов. Мой вопрос. Можно отфильтровать 3 базовых плоскости поотдельности, а затем вывести в согответствующем формате. Или зависимость нелинейная при композиции. И так, как я хотел бы, делать нельзя ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2006, 10:33 |
|
||
|
обработка изображения
|
|||
|---|---|---|---|
|
#18+
Для цветных изображений, насколько мне известно, частотные фильтры работают точно также, как и для ЧБ. Применяются по отдельным плоскостям. Вопрос о форматах неясен. Если имеются в виду способы хранения (8:8:8, 5:6:5 и.т.п), то формула - та-же самая. Только макс. значение нормируется по разрядной сетке для соотв. канала. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2006, 12:51 |
|
||
|
обработка изображения
|
|||
|---|---|---|---|
|
#18+
maytonДля цветных изображений, насколько мне известно, частотные фильтры работают точно также, как и для ЧБ. Применяются по отдельным плоскостям. Вопрос о форматах неясен. Если имеются в виду способы хранения (8:8:8, 5:6:5 и.т.п), то формула - та-же самая. Только макс. значение нормируется по разрядной сетке для соотв. канала. С этого места (красным) чуть подробнее пожалуйста. Нормировка относительно максимума или я че-то недопонял ? Нашел, что заголовок в bmp занимает первые 54 байта, а дальше идет сама картинка. Теперь надо байтики пощупать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2006, 15:16 |
|
||
|
обработка изображения
|
|||
|---|---|---|---|
|
#18+
С чтением разобрался. Теперь меня интересует программирование видеоадаптера SVGA в Visual C++ с ассемблерными вставками. Пожалуйста хотя бы немного сориентируйте. Полагаю, что в Kernel есть какие-то функции для этого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2006, 23:58 |
|
||
|
обработка изображения
|
|||
|---|---|---|---|
|
#18+
void CImageDlg::OnPaint() { CPaintDC dc(this); CBitmap m_bmp_1; m_bmp_1.LoadBitmap(InString); CDC memdc; memdc.CreateCompatibleDC(&dc); memdc.SelectObject(&m_bmp_1); BITMAP bm; m_bmp_1.GetObject(sizeof(bm),&bm); x_bmp=bm.bmWidth; y_bmp=bm.bmHeight; dc.BitBlt(0,0,x_bmp,y_bmp,&memdc,0,0,SRCCOPY); } void CImageDlg::OnButton1() { char InString[9],as[9]={0}; int a; CFile f; if(f.Open("d:\\1_1.bmp",CFile::modeRead)==FALSE) return; f.Read(InString,9); strcat(as, InString); a=f.GetLength(); //MessageBox(as); //m_edit1=as[0]; m_edit1=a; m_edit2=as[55]; UpdateData(false); CClientDC dc(this); dc.PatBlt(0,0,800,600,PATCOPY); CBitmap m_bmp_2; m_bmp_2.LoadBitmap(InString); CDC memoryDC; memoryDC.CreateCompatibleDC(&dc); CBrush brush; brush.CreatePatternBrush(&m_bmp_2); dc.SelectObject(&brush); dc.Rectangle(0,0,800,600); } Прочитать я прочитал,а вот вполне стандартно показать на экране не смог. Где-то ошибка в моей логике. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2006, 00:12 |
|
||
|
обработка изображения
|
|||
|---|---|---|---|
|
#18+
RTFM ::SetDIBitsToDevice(), ::StretchDIBitsToDevice() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2006, 00:25 |
|
||
|
обработка изображения
|
|||
|---|---|---|---|
|
#18+
Сергей ИльичRTFM ::SetDIBitsToDevice(), ::StretchDIBitsToDevice() Интересно, а чуть подробней можно ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2006, 09:24 |
|
||
|
обработка изображения
|
|||
|---|---|---|---|
|
#18+
neskif Сергей ИльичRTFM ::SetDIBitsToDevice(), ::StretchDIBitsToDevice() Интересно, а чуть подробней можно ? тынц ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2006, 12:05 |
|
||
|
обработка изображения
|
|||
|---|---|---|---|
|
#18+
Сергей Ильич neskif Сергей ИльичRTFM ::SetDIBitsToDevice(), ::StretchDIBitsToDevice() Интересно, а чуть подробней можно ? тынц Увлекательно. Большое спасибо Сергей Ильич! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2006, 19:12 |
|
||
|
обработка изображения
|
|||
|---|---|---|---|
|
#18+
neskif Сергей Ильич neskif Сергей ИльичRTFM ::SetDIBitsToDevice(), ::StretchDIBitsToDevice() Интересно, а чуть подробней можно ? тынц Увлекательно. Большое спасибо Сергей Ильич! Блин, чего я тебе все разжевывать обязан? Судя по коду, ты пытаешься открыть bmp файл и нарисовать его на экране. BMP файл представляет из себя плоский двухмерный массив, сброшенный в дисковый файл. Сверху к нему приделан заголовок, в котором описана ширина и высота массива + цветовая модель. Следовательно, тебе надо прочитать заголовок, разместить в куче массив нужного размера и прочитать в него весь оставшийся кусок файла. Имея в памяти массив, ты его можешь Бит-Блитнуть в контекст отображения при помощи SetDIBitsToDevice(). Можно его также промасштабировать при помощи StretchDIBitsToDevice(). Проще некуда. Четырех твоих флеймов (если не изменяет память) это не стоит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2006, 23:08 |
|
||
|
обработка изображения
|
|||
|---|---|---|---|
|
#18+
ты говорил вроде что у тебя книжка с описаниями форматов? а можна линк где взял? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2006, 02:55 |
|
||
|
обработка изображения
|
|||
|---|---|---|---|
|
#18+
neskifС чтением разобрался. Теперь меня интересует программирование видеоадаптера SVGA в Visual C++ с ассемблерными вставками. Пожалуйста хотя бы немного сориентируйте. Полагаю, что в Kernel есть какие-то функции для этого. Посмотри на это: http://antigrain.com может полезным окажется... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2006, 08:16 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=361&tid=2031523]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
30ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 335ms |

| 0 / 0 |
