ето типа сущесно более джыдайско-гибридное получаеццо по сравнению со сканом пльонко и корекцыей в редакторе...
но патом оказалось шо цыфрорегистраторы сами шумят мало - так шо за большую осшу тама мож и неполучиццо побиццо если она уже в фотонах после объектива малая...
но для варианта пльонко регистратора с малой квантовой фефективностью мож и получиццо чо...
хотя дяди по передаче информац завещали фсегда йузать кодирование перед шумящим хоть скоко-то каналом связи для максимизац передаваемой информац...
ешо вариант - фотание на чб регистатор с большой осшей и засовывание информац о цвете в большую осшу одноканальново сигнала вместо трехканальново как у фовеона или цветофильтроделеново как у байеровсково цыфромыла... например для минимизац искажений от байеровсково цветоделения... ну или соотв фотание на чб пльонко вместо цветново...
требования к оптокодеру - реализуемость выбраново алгоритма кодирования на пассивной оптике однако :/ ...
пример кодирования информац о цветном трехканальном изобр в одноканальное с повышеной осшей -
кодер 3х16 бит в 1х16 бит (йаркость 6 бит и цветоразностные по 5 бит)
fY = 0.3f*(float)pwSrc_data[col*3] + 0.59f*(float)pwSrc_data[col*3+1] + 0.11f*(float)pwSrc_data[col*3+2];
fR_Y = (float)pwSrc_data[col*3] - fY;
fB_Y = (float)pwSrc_data[col*3+2] - fY;
// del and limit
fY /= 255.0f;
fR_Y /= 255.0f;
fB_Y /= 255.0f;
fY = fY > 255.0f ? 255.0f : fY < 0 ? 0 : fY;
fR_Y = fR_Y > 127.0f ? 127.0f : fR_Y < -127.0f ? -127.0f : fR_Y;
fB_Y = fB_Y > 255.0f ? 255.0f : fB_Y < -127.0f ? -127.0f : fB_Y;
// packing
bY = (unsigned char)(fY);
bR_Y = (char)(fR_Y);
bB_Y = (char)(fB_Y);
wOut = ((bY & 0xFC) 3);
pwDst_data[col] = wOut;
декодер 1х16 бит в 3х8 бит
// unpacking
bY = (char)((pwSrc_data[col] & 0xFC00) >> 8);
bR_Y = (char)((pwSrc_data[col] & 0x3E0) >> 2);
bB_Y = (char)((pwSrc_data[col] & 0x1F) 255 ? 255 : fR < 0 ? 0 : fR);
bG = (unsigned char) (fG > 255 ? 255 : fG < 0 ? 0 : fG);
bB = (unsigned char) (fB > 255 ? 255 : fB < 0 ? 0 : fB);
pbDst_data[col*3] = bR;
pbDst_data[col*3+1] = bG;
pbDst_data[col*3+2] = bB;
но при даже слабом повреждении шумами канальново 1х16 бит происходит аццкое повреждение информац о цвете... соотв над бы придумывать/приделывать помехоустойчивое канальн кодирование... и ешо хз как такой кодер сделать оптицски...
зыж форум глючит с сишным текстом засунутым в code /code - обрезает часть - с чаво бы ето...
