71
 Đề thi Xử  nh GV: Tr n Tiến Đứ c 1 Đề thi Đáp án - Xnh GV: Tr n Tiến Đứ c CHƢƠNG III (Câu 1  câu 13) Câu 1. Xây dng và cài đặt thut toán làm âm nh.  Đáp án: Cách làm âm nh đượ c cho bng phương trình: s=L-1-r trong đó L=256 là s lượ ng mc xám, r là mc xám đầu vào, s là mc xám đầu ra Quan sát đồ th  ta thy: Mc xám đầu ra “ngược” vi đầ u vào, tc là thut toán này bi ến nh đen tr ở  thành nh tr ng và tr ng thành đen. C od e: void Negative(IplImage *imgin, IplImage *imgout) { int N = imgin->width; int M = imgin->height; BwImage f(imgin); BwImage g(imgout); BYTE r, s; int x, y; for  (x=0; x<M; x++) for  (y=0; y<N; y++) { r = f[x][y]; s = L-1-r; g[x][y] = s; } return;} S R (0,0) L-1 L-1

De Thi Xu Ly Anh - 08cl1

Embed Size (px)

Citation preview

thi X L nhGV: Trn Tin c 1 thi v p n - X L nh GV: Trn Tin c CHNG III (Cu 1 cu 13) Cu 1. Xy dng v ci t thut ton lm m nh. p n: Cch lm m nh c cho bng phng trnh: s=L-1-r trong L=256 l s lng mc xm, r l mc xm u vo, s l mc xm u ra Quan st th ta thy: Mc xm u ra ngc vi u vo, tc l thut ton ny bin nh en tr thnh nh trng v trng thnh en. Code: void Negative(IplImage *imgin, IplImage *imgout) { int N = imgin->width; int M = imgin->height; BwImage f(imgin); BwImage g(imgout); BYTE r, s; int x, y; for (x=0; xheight; BwImage f(imgin); BwImage g(imgout); BYTE r, s; double c = (L-1)/log(1.0*L); int x, y; for (x=0; xheight; BwImage f(imgin); BwImage g(imgout); BYTE r, s; double gamma = 5.0; double c = pow(L-1,1-gamma); int x, y; for (x=0; xheight; BwImage f(imgin); BwImage g(imgout); int x,y; double rmin,rmax; cvMinMaxLoc(imgin,&rmin,&rmax); double r,s,r1,s1,r2,s2; r1 = rmin; s1 = 0; r2 = rmax; s2 = L-1; for (x=0; x