From sitkarev на komitex.ru Wed May 4 03:05:47 2011 From: sitkarev на komitex.ru (Grigoriy A. Sitkarev) Date: Wed, 04 May 2011 03:05:47 +0400 Subject: [P&AM Lab] =?utf-8?b?0JjRgdC/0YDQsNCy0LvQtdC90L3Ri9C5IGltZ2ZpbHRl?= =?utf-8?q?r?= Message-ID: <4DC08A4B.4060404@komitex.ru> Приветствую всех. Андрей Ануфриев нашёл где в программе imgfilter была недоработка, которая приводила к тому что по диагонали к изображению добавлялась чёрная полоса если ширина изображения не была кратна 4-м (в пикселях). За что ему большое спасибо. Причина в том что некоторые форматы хранения изображений выравнивают строки с пикселями по границе машинного слова. В программу внесены изменения, учитывающие это свойство. 1. Высчитывается сколько байтов из строки с пикселами нужно пропустить: skip = gdk_pixbuf_get_rowstride(pbuf) - w*rowpix; Здесь w это ширина изображения в пикселах а rowpix количество байт на одну группу RGB. 2. После обхода одной строки с пикселями добавляется skip. pp = pix; for (i = 0; i < h; i++) { for (j = 0; j < w; j++) { r[i*w+j] = pp[0]; g[i*w+j] = pp[1]; b[i*w+j] = pp[2]; pp += rowpix; } /* skip alignment row bytes */ pp += skip; } Здесь в pp адрес по которому хранятся байты изображения а в массивы r, g и b соответственно извлекаются R, G и B компоненты изображения. Исходный текст я положил на репозиторий, в каталог dsp/. Makefile переделан, так что можно его стаскивать, собирать и играться. Имейте в виду что код далёк от оптимума -- это хороший педагогический пример чтобы было понятно как читать и записывать изображения, использовать разделяемые фильтры и конволюцию (свёртку). -- Г.А. From ilyin_mikhail на inbox.ru Sat May 28 03:56:43 2011 From: ilyin_mikhail на inbox.ru (Mikhail Ilyin) Date: Sat, 28 May 2011 03:56:43 +0400 Subject: [P&AM Lab] check list state Message-ID: mail body ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From sitkarev на komitex.ru Sat May 28 05:42:15 2011 From: sitkarev на komitex.ru (Grigoriy A. Sitkarev) Date: Sat, 28 May 2011 05:42:15 +0400 Subject: [P&AM Lab] check list state In-Reply-To: References: Message-ID: <4DE052F7.20901@komitex.ru> confirm 28.05.2011 03:56, Mikhail Ilyin пишет: > mail body > > > > _______________________________________________ > Lab mailing list > Lab на wiki.syktsu.ru > http://wiki.syktsu.ru/cgi-bin/mailman/listinfo/lab From nateford на inbox.ru Mon May 30 07:36:03 2011 From: nateford на inbox.ru (Hermes Conrad) Date: Mon, 30 May 2011 07:36:03 +0400 Subject: [P&AM Lab] =?koi8-r?b?y8HNxc7YLc7P1s7Jw9ktwtXNwcfBIDop?= Message-ID: <20110530073603.09d4685d@rlyeh.domain.name> Чтобы закрепить материал по эскейп-последовательностям, написал это небольшую игрушку :) ----------- следущая часть ----------- A non-text attachment was scrubbed... Name: rps.c Type: text/x-c++src Size: 8198 bytes Desc: отсутствует URL: