K

您所在的位置:网站首页 pca技术人脸识别 K

K

2023-12-24 16:29| 来源: 网络整理| 查看: 265

目录 摘要K-L变换的基本原理K-L变换在图像压缩中的应用研究背景及意义数字图像压缩与发展现状K-L变换与图像压缩 K-L变换在人脸识别中的应用人脸识别K-L变换实现人脸识别 总结参考文献matlab代码致谢

摘要

在这里插入图片描述

在这里插入图片描述

K-L变换的基本原理

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

K-L变换在图像压缩中的应用 研究背景及意义

在这里插入图片描述

数字图像压缩与发展现状

在这里插入图片描述 在这里插入图片描述

K-L变换与图像压缩

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

K-L变换在人脸识别中的应用 人脸识别

在这里插入图片描述

K-L变换实现人脸识别

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

总结

在这里插入图片描述 在这里插入图片描述

参考文献

在这里插入图片描述

matlab代码 1. clear 2. %set the block size q 3. q=2; 4. face = imread('faces/1.bmp'); 5. face = imresize(face,[256 256]); 6. 7. face = im2double(face); 8. subplot(1,2,1) 9. imshow(face) 10. [m,n] = size(face); 11. %initialize the parameters 12. b = []; 13. B = []; 14. 15. %divide the image into q*q blocks 16. for i = 1:m/q 17. for j = 1:n/q 18. t_l = (i-1)*q+1; 19. t_r = (i-1)*q+q; 20. b_l = (j-1)*q+1; 21. b_r = (j-1)*q+q; 22. block = face(t_l:t_r,b_l:b_r); 23. %get the blocks and order them lexicographically to form vector 24. bias = reshape(block,1,q^2); 25. B = [B;bias]; 26. end 27. end 28. %compute the covariance matrix C 29. C = cov(B); 30. %get eigenvalues and eigenvectors 31. [V,D] = eig(C); 32. e = diag(D); 33. error=[]; 34. 35. %utilize K-L Transform 36. c = V'*B'; 37. k = 1; 38. X = V(:,4)*c(4,:); 39. X = X'; 40. %Reformat the image 41. for i=1:m/q 42. for j=1:n/q 43. y1=reshape(X(k,1:q^2),q,q); 44. ii=(i-1)*q+1; 45. jj=(j-1)*q+1; 46. final(ii:ii+q-1,jj:jj+q-1)=y1; 47. k=k+1; 48. end 49. end 50. subplot(1,2,2) 51. final = reshape(final,[m m 3]); 52. imshow(final) 53. 54. 55. 56. clear; 57. Files = dir('faces\*.bmp'); %打开文件夹中所有图像 58. dir = 'faces\'; 59. for k = 1:length(Files) 60. Filename = [dir, Files(k).name]; 61. img = imread(Filename); 62. img = trans(img); 63. x(k,:) = img(:)'; 64. end 65. 66. C =cov(x); 67. [V,D] = eig(C); 68. c = V'*x'; 69. 70. eigface = reshape(V(:,end)*32,size(img)); 71. imshow(eigface) %本征脸 72. d = diag(D); 73. info = 0; 74. info_sum = sum(d); 75. k = 0; 76. for i = 1:length(d) 77. info = info + d(length(d)-i+1); 78. if info/info_sum > 0.99 79. k = i; 80. break 81. end 82. end 83. 84. % 恢复 85. figure(2) 86. xx = [V(:,1:end)*c(1:end,:)]'; 87. faces = []; 88. for i = 1:length(Files) 89. faces = [faces,reshape(xx(i,:),size(img))]; 90. end 91. imshow(faces) 92. 93. % 比对识别 94. test = imread('zhb.bmp'); 95. test = trans(test); 96. test = test(:); 97. c_test = V(:,end-k+1:end)'*test; 98. c_known = c(end-k+1:end,:); 99. dist = sum((c_known - c_test).^2).^(0.5); 100. [num,index] = min(dist); 101. disp([dir, Files(index).name]) 102. 103. 104. function img = trans(img) 105. img = imresize(img,[64 64]); 106. img = rgb2gray(img); 107. img = im2double(img); 108. end 致谢

过了一年才想起来把之前写的大作业发出来,代码实现是由zhb完成的,测试和ppt是fy做的 在这里插入图片描述 ps:本人不搞模式识别,这个大报告仅供本科阶段课程参考,如有错误请一笑了之。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3