MCPcopy Create free account
hub / github.com/cpvrlab/ImagePlay / rgb32

Method rgb32

IPL/src/IPLImage.cpp:210–295  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

208}
209
210uchar* IPLImage::rgb32()
211{
212 _rgb32.resize(_height * _width * 4);
213 if(_type == IPL_IMAGE_BW)
214 {
215 int i=0;
216 for(int y=0; y < _height; y++)
217 {
218 for(int x=0; x < _width; x++)
219 {
220 uchar val = plane(0)->p(x,y) * FACTOR_TO_UCHAR;
221 val = val < 0x80 ? 0x00 : 0xFF;
222 _rgb32[i++] = val;
223 _rgb32[i++] = val;
224 _rgb32[i++] = val;
225 _rgb32[i++] = 0xFF;
226 }
227 }
228 }
229 else if(_type == IPL_IMAGE_GRAYSCALE)
230 {
231 int i=0;
232 for(int y=0; y < _height; y++)
233 {
234 for(int x=0; x < _width; x++)
235 {
236 uchar val = (plane(0)->p(x,y) * FACTOR_TO_UCHAR);
237 _rgb32[i++] = val;
238 _rgb32[i++] = val;
239 _rgb32[i++] = val;
240 _rgb32[i++] = 0xFF;
241 }
242 }
243 }
244 else if(_type == IPL_IMAGE_COLOR)
245 {
246 int i=0;
247 for(int y=0; y < _height; y++)
248 {
249 for(int x=0; x < _width; x++)
250 {
251 uchar r = plane(0)->p(x,y) * FACTOR_TO_UCHAR;
252 uchar g = plane(1)->p(x,y) * FACTOR_TO_UCHAR;
253 uchar b = plane(2)->p(x,y) * FACTOR_TO_UCHAR;
254 _rgb32[i++] = b;
255 _rgb32[i++] = g;
256 _rgb32[i++] = r;
257 _rgb32[i++] = 0xFF;
258 }
259 }
260 }
261 else if(_type == IPL_IMAGE_ORIENTED)
262 {
263 double maxMag = 0.0;
264 for(int x=0; x<_width; x++)
265 for(int y=0; y<_height; y++)
266 if( plane(0)->p(x,y) > maxMag ) maxMag = plane(0)->p(x,y);
267

Callers 2

updateImageMethod · 0.45
updateThumbnailMethod · 0.45

Calls 4

redMethod · 0.80
greenMethod · 0.80
blueMethod · 0.80
resizeMethod · 0.45

Tested by

no test coverage detected