#include #include #include #include #include void main() { stim::image rgb,gaussgradient; //generate an image object //unsigned int a = 5%5; //unsigned int b = 5/5; rgb.load("101087.bmp"); //load the input image unsigned int w = rgb.width(); //get the image size unsigned int h = rgb.height(); unsigned int s = rgb.size(); //unsigned a = sizeof(float); stim::image lab; //create an image object for a single-channel (grayscale) image lab = rgb.srgb2lab(); //create the single-channel image /* stim::image pic_light, pic_colora, pic_colorb; pic_light = lab.channel(0); pic_light.save("pic_light.bmp"); pic_colora = lab.channel(1); pic_colorb = lab.channel(2); float sigma = 2; unsigned int sigma_n = 3; unsigned int r = 5; unsigned int winsize = r * 2; //window size = winsize + 1 float theta = 90; gaussgradient = gaussian_derivative_filter_odd(pic_colorb, sigma, sigma_n, winsize, theta, w, h); gaussgradient.save("data_output/pic_gray_gradient.bmp"); */ //float theta = 0; unsigned int theta_n = 8; //stim::image mPb_stack(w,h,theta_n); //stim::image mPb_theta; //mPb_theta = func_mPb_theta(lab, theta, w, h); //mPb_theta.save("data_output/pic_gray_gradient.bmp"); stim::image mPb; mPb = func_mPb(lab, theta_n, w, h); }