Thông tin tài liệu
Đề thi Xử Lý Ảnh GV: Trần Tiến Đức Đề thi Xử Lý Ảnh GV: Trần Tiến Đức MỤC LỤC ĐỀ THI VÀ ĐÁP ÁN MÔN XỬ LÝ ẢNH SỐ Chương 3 gồm 13 câu từ câu 1 đến câu 13 Câu 1. Xây dựng và cài đặt thuật toán làm âm ảnh. Đáp án: !"#$% #$&'(%#$&') *')+,) /#$&')01(23&'(%#'4.35 678(869 Cod e: void Negatives(BYTE **f, BYTE **g) { int x, y; BYTE r,s; for (x=0; x<M; x++) for (y=0; y<N; y++) { r = f[x][y]; : ; <=%=> Đề thi Xử Lý Ảnh GV: Trần Tiến Đức s = L-1-r; g[x][y] = s; } return; } Câu 2. Xây dựng và cài đặt thuật toán biến đổi logarit ảnh. Đáp án: ?35@3 <A> • #$&'( • #$&') • "B • <A>C=9 *')+, C7D9 Hằng số c được nh như sau: E) <A> ;F== E) & )11log( 1 −+ − L L G23 ! H 9IJ I Cod e: void Logarithm(BYTE **f, BYTE **g) { int x, y; double r,s; double c = (L- 1)/log(1.0*L); for (x=0; x<M; x++) for (y=0; y<N; y++) { r = f[x][y]; s = c*log(1+r); g[x][y] = (int)s; } return; } K63. <=%=> L6)M(6 Đề thi Xử Lý Ảnh GV: Trần Tiến Đức Câu 3. Xây dựng và cài đặt thuật toán biến đổi lũy thừa ảnh. Đáp án: N35@3O.P) Q (23#$&'(%#$&')% %Q"B9 • QR • QS"39 c: được nh như sau: E) D+, • == • <> Q γ )1( 1 − − L L Cod e: void Power(BYTE **f, BYTE **g) { int x, y; double r,s; double gamma = 5.0; double c = (L-1)/pow(1.0*(L-1),gamma); for (x=0; x<M; x++) for (y=0; y<N; y++) { r = f[x][y]; s = c*pow(1.0*r,gamma);; g[x][y] = (int)s; } return; } T γ=0,4 γ=1 γ=1,5 S R Đề thi Xử Lý Ảnh GV: Trần Tiến Đức Câu 4. Xây dựng và cài đặt thuật toán biến đổi tuyến tính từng phần. Đáp án: Quan sát trên đồ thị ta thấy: N35@36U63V'%8U783V'9E# WXY)<Z[3\X>9 Ta có: ?C]3^')3_<$%.>(<$%.> 12 1 yy yy − − 12 1 xx xx − − ` 12 12 xx yy − − <$$>A. • abK3_<=%=>(<%> : 1 1 r s • abKK3_<%>(<%> H L-1 L-1 r <%> <%> Đề thi Xử Lý Ảnh GV: Trần Tiến Đức : 12 12 rr ss − − <>A • abKKK3_<%>(<%> : 2)1( 2)1( rL sL −− −− <>A <%>(<%>29 Cod e: void PiecewiseLinear(BYTE **f, BYTE **g) { double r1,s1,r2,s2,rmin,rmax,s,r,m,sum; int x, y; rmin = f[0][0]; rmax = f[0][0]; for (x=0; x<M; x++) for (y=0; y<N; y++) { r = f[x][y]; if (r<rmin) rmin = r; if (r>rmax) rmax = r; } r1 = rmin; s1 = 0; r2 = rmax; s2 = L-1; for (x=0; x<M; x++) for (y=0; y<N; y++) { r = f[x][y]; if (r<r1) s = s1/r1*r; else if (r<r2) s = (s2-s1)/(r2-r1)*(r-r1)+s1; else s = (L-1-s2)/(L-1-r2)*(r-r2)+s2; g[x][y] = (int)s; } return; } Câu 5. Xây dựng và cài đặt thuật toán cân bằng histogram. Đáp án: /cUY)3)3)+V'9d3)WX Y)9 Đề thi Xử Lý Ảnh GV: Trần Tiến Đức 3) E<><> ∫ r r dwwp 0 )( (23 r <e>f'-$.)#$w E$'-%gY)4X"39h#Dw353D c%)Zh_49E)3Bih#C3b Z E< Z ><> ∑ = k j jr rp 0 )( (23Z=%%%j% Cod e: void HistogramEqualization(BYTE **f, BYTE **g) { double T[L]; int k, j, x, y; BYTE r; double s; double p[L]; Histogram(f,p); for (k=0; k<L; k++) { T[k] = 0; for (j=0; j<=k; j++) T[k] = T[k] + p[j]; } for (x=0; x<M; x++) for (y=0; y<N; y++) { r = f[x][y]; s = T[r]; g[x][y] = (int)(s*(L-1)); } return; } Câu 6. Xây dựng và cài đặt thuật toán đặc tả histogram. Đáp án: dh33)kO"%Dh3Z3)3)(V3) )'"9 ! Đề thi Xử Lý Ảnh GV: Trần Tiến Đức EU3)Y)+3'.)35@33)lX <r m > MN n j Z E< Z > ∑ = k j jr rp 0 )( 3)'" n <z i > N35@33)'"9 ( Z o<n Z > k k j jz szp = ∑ =0 )( Z %)'.)n Z )' n Z o <E< Z >> Mục êu:#$&'( Z %)'.)#$&')n Z 9 GUBc3)'"(p)' q Đề thi Xử Lý Ảnh GV: Trần Tiến Đức a_h3)'"(p%)BiC]3^'))3 3_<$ %. >(<$ %. > 12 1 yy yy − − 12 1 xx xx − − S. 12 12 xx yy − − <$$>A. Cod e: void HistogramSpecification(BYTE **f, BYTE **g) { double pz1,pz2,pz3,pz4,pz5,pz6; int z1,z2,z3,z4,z5,z6; double pz[L]; double G[L]; double pr[L]; double T[L]; double sum; int z, k, i, j, x, y; // Histogram dac ta z1 = 0; pz1 = 0.75; z2 = 10; pz2 = 7; z3 = 20; pz3 = 0.75; z4 = 180; pz4 = 0; z5 = 200; pz5 = 0.7; z6 = 255; pz6 = 0; for (z=0; z<L; z++) if (z<z2) pz[z] = (pz2-pz1)/(z2-z1)*(z-z1) + pz1; else if (z<z3) pz[z] = (pz3-pz2)/(z3-z2)*(z-z2) + pz2; else if (z<z4) J Đề thi Xử Lý Ảnh GV: Trần Tiến Đức pz[z] = (pz4-pz3)/(z4-z3)*(z-z3) + pz3; else if (z<z5) pz[z] = (pz5-pz4)/(z5-z4)*(z-z4) + pz4; else pz[z] = (pz6-pz5)/(z6-z5)*(z-z5) + pz5; // Chuan hoa pz sao cho tong xac suat bang 1 sum = 0; for (z=0; z<L; z++) sum += pz[z]; for (z=0; z<L; z++) pz[z] = pz[z]/sum; for (k=0; k<L; k++) { G[k] = 0; for (i=0; i<=k; i++) G[k] = G[k] + pz[i]; } // Histogram cua anh Histogram(f,pr); for (k=0; k<L; k++) { T[k] = 0; for (j=0; j<=k; j++) T[k] = T[k] + pr[j]; } // Matching 2 histogram BYTE r; double s; for (x=0; x<M; x++) for (y=0; y<N; y++) { r = f[x][y]; s = T[r]; for (k=0; k<L; k++) if (G[k]>=s) break; g[x][y] = k; } return; } Câu 7. Xây dựng và cài đặt thuật toán cân bằng histogram cục bộ. Đáp án: EC#$ZV)'Dr^'s%5')3)lX pZhZ5^'9EC)3Bi3)cX9 tu)@ZU2v_&u'%(UBcT%3)Y)Bw 3r' Pu)@().&u'&u239 I Đề thi Xử Lý Ảnh GV: Trần Tiến Đức Cod e: void LocalHistogram(BYTE **w, int m, int n, double *p) { int x, y, k; BYTE r; for (k=0; k<L; k++) p[k] = 0; for (x=0; x<m; x++) for (y=0; y<n; y++) { r = w[x][y]; p[r]++; } for (k=0; k<L; k++) p[k] = p[k]/(m*n); return; } void LocalHistogramEqualization(double *p, double *T) { int j, k; for (k=0; k<L; k++) { T[k] = 0; for (j=0; j<=k; j++) T[k] = T[k] + p[j]; } return; } void LocalEnhancement(BYTE **f, BYTE **g) { int m, n; m = 3; n = 3; BYTE **w; int x, y, s, t, a, b; a = m/2; b = n/2; double p[L]; double T[L]; BYTE r; w = (BYTE **)Alloc2D(m,n,sizeof(BYTE)); for (x=a; x<M-a; x++) for (y=b; y<N-b; y++) { for (s=-a; s<=a; s++) for (t=-b; t<=b; t++) w[s+a][t+b] = f[x+s][y+t]; LocalHistogram(w,m,n,p); LocalHistogramEqualization(p,T); r = f[x][y]; g[x][y] = (int)((L-1)*T[r]); } = [...]... **Sobely; Sobelx = (double **)Alloc2D(m,n,sizeof(double)); Sobely = (double **)Alloc2D(m,n,sizeof(double)); Sobelx[0][0] = -1; Sobelx[0][1] = -2; Sobelx[0][2] = -1; Sobelx[1][0] = 0; Sobelx[1][1] = 0; Sobelx[1][2] = 0; Sobelx[2][0] = 1; Sobelx[2][1] = 2; Sobelx[2][2] = 1; Sobely[0][0] = -1; Sobely[0][1] = Sobely[1][0] = -2; Sobely[1][1] = Sobely[2][0] = -1; Sobely[2][1] = 0; Sobely[0][2] = 0; Sobely[1][2]... Viết dưới dạng mặt nạ như sau : Code: void ConvolutionInt(BYTE **f, int M, int N, int **g, double **w, int m, int n, BOOL border) { int bx, by, a, b, x, y, s, t, p, q; double r; a = m/2; b = n/2; if (border) { bx = 0; by = 0; } else { bx = a; by = b; } for (x=bx; x . Sobelx[2][2] = 1; Sobely[0][0] = -1; Sobely[0][1] = 0; Sobely[0][2] = 1; Sobely[1][0] = -2; Sobely[1][1] = 0; Sobely[1][2] = 2; Sobely[2][0] = -1; Sobely[2][1] = 0; Sobely[2][2] = 1; ConvolutionInt(f,M,N,gx,Sobelx,m,n,TRUE); ConvolutionInt(f,M,N,gy,Sobely,m,n,TRUE); for. ),(),( E $ZU2Y)Xt%(C"v_Xt&u'9 )|(|ZU2w)Xt9 ?[tZh3)t3@4<('M>9 a"3(23t'.5g%‚btCXt'9 GUBc‚bt'(‚bo)' Co de : void Convolution(BYTE **f, int M, int N, BYTE **g, double **w, int m, int n, BOOL border) { int bx, by, a, b, x, y, s, t, p, q; double r; a = m/2; b = n/2; if (border) { bx =. Đề thi Xử Lý Ảnh GV: Trần Tiến Đức Đề thi Xử Lý Ảnh GV: Trần Tiến Đức MỤC LỤC ĐỀ THI VÀ ĐÁP ÁN MÔN XỬ LÝ ẢNH SỐ Chương 3 gồm 13 câu từ câu
Ngày đăng: 08/08/2014, 18:22
Xem thêm: De thi xu ly anh doc, De thi xu ly anh doc, Chương 3 gồm 13 câu từ câu 1 đến câu 13, Câu 6. Xây dựng và cài đặt thuật toán đặc tả histogram., Câu 8. Xây dựng và cài đặt thuật toán nâng cao chất lượng ảnh bằng thống kê histogram., Câu 11. Xây dựng và cài đặt thuật toán nâng cao chất lượng ảnh bằng đạo hàm cấp một., Câu 12. Xây dựng và cài đặt thuật toán nâng cao độ nét của ảnh bằng đạo hàm cấp hai., Câu 13. Xây dựng và cài đặt thuật toán nâng cao độ nét ảnh bằng mặt nạ làm nhòe và lọc tăng cường., Chương 9 gồm câu 6 câu từ câu 14 đến câu 19, Câu 19. Xây dựng và cài đặt thuật toán lấp lỗ trống., Chương 10 gồm 7 câu từ câu 20 đến câu 26, Câu 26. Xây dựng và cài đặt thuật toán biến đổi Hough., Chương 4 gồm 10 câu từ câu 27 đến câu 36, Câu 29. Xây dựng và cài đặt thuật toán làm trơn ảnh trong miền tần số dùng bộ lọc lowpass Butterworth., Câu 31. Xây dựng và cài đặt thuật toán làm nét ảnh trong miền tần số dùng bộ lọc highpass lý tưởng., Câu 34. Xây dựng và cài đặt thuật toán biến đổi Laplace trong miền tần số., Câu 36. Xây dựng và cài đặt thuật toán lọc đồng hình.