Difference between revisions of "KIAS primer"
From Cinemachines
Line 36: | Line 36: | ||
dist.at<Vec3b>(y,x)[1] = sources[1].at<Vec3b>((h-y),(w-x))[1]; | dist.at<Vec3b>(y,x)[1] = sources[1].at<Vec3b>((h-y),(w-x))[1]; | ||
dist.at<Vec3b>(y,x)[2] = sources[1].at<Vec3b>((h-y),(w-x))[2]; | dist.at<Vec3b>(y,x)[2] = sources[1].at<Vec3b>((h-y),(w-x))[2]; | ||
+ | } | ||
+ | }</nowiki> | ||
+ | |||
+ | === Repeat image === | ||
+ | '''Horisontal repeat''' | ||
+ | <nowiki>for( int y = 0; y < h; y++ ) { | ||
+ | for( int x = 0; x < w; x++ ) { | ||
+ | dist.at<Vec3b>(y,x)[0] = sources[1].at<Vec3b>((y),(x+x))[0]; | ||
+ | dist.at<Vec3b>(y,x)[1] = sources[1].at<Vec3b>((y),(x+x))[1]; | ||
+ | dist.at<Vec3b>(y,x)[2] = sources[1].at<Vec3b>((y),(x+x))[2]; | ||
} | } | ||
}</nowiki> | }</nowiki> |
Latest revision as of 11:26, 27 October 2019
Basic Image Processing
Displaying an Image
for( int y = 0; y < h; y++ ) { for( int x = 0; x < w; x++ ) { dist.at<Vec3b>(y,x)[0] = sources[1].at<Vec3b>(y,x)[0]; dist.at<Vec3b>(y,x)[1] = sources[1].at<Vec3b>(y,x)[1]; dist.at<Vec3b>(y,x)[2] = sources[1].at<Vec3b>(y,x)[2]; } }
where h = screen height, w = screen width and sources[1] = input
Flip image
Vertical flip
for( int y = 0; y < h; y++ ) { for( int x = 0; x < w; x++ ) { dist.at<Vec3b>(y,x)[0] = sources[1].at<Vec3b>(y,(w-x))[0]; dist.at<Vec3b>(y,x)[1] = sources[1].at<Vec3b>(y,(w-x))[1]; dist.at<Vec3b>(y,x)[2] = sources[1].at<Vec3b>(y,(w-x))[2]; } }
Horisontal flip
for( int y = 0; y < h; y++ ) { for( int x = 0; x < w; x++ ) { dist.at<Vec3b>(y,x)[0] = sources[1].at<Vec3b>((h-y),x)[0]; dist.at<Vec3b>(y,x)[1] = sources[1].at<Vec3b>((h-y),x)[1]; dist.at<Vec3b>(y,x)[2] = sources[1].at<Vec3b>((h-y),x)[2]; } }
Combined vertical-horisontal flip
for( int y = 0; y < h; y++ ) { for( int x = 0; x < w; x++ ) { dist.at<Vec3b>(y,x)[0] = sources[1].at<Vec3b>((h-y),(w-x))[0]; dist.at<Vec3b>(y,x)[1] = sources[1].at<Vec3b>((h-y),(w-x))[1]; dist.at<Vec3b>(y,x)[2] = sources[1].at<Vec3b>((h-y),(w-x))[2]; } }
Repeat image
Horisontal repeat
for( int y = 0; y < h; y++ ) { for( int x = 0; x < w; x++ ) { dist.at<Vec3b>(y,x)[0] = sources[1].at<Vec3b>((y),(x+x))[0]; dist.at<Vec3b>(y,x)[1] = sources[1].at<Vec3b>((y),(x+x))[1]; dist.at<Vec3b>(y,x)[2] = sources[1].at<Vec3b>((y),(x+x))[2]; } }