飞道的博客

【图像增强】基于量子遗传算法实现图像增强matlab源码

365人阅读  评论(0)

1、基本概念

(1)量子遗传算法是量子计算与遗传算法相结合的智能优化算法,由K.H.Han等人提出,其将量子态、量子门、量子状态特性、概率幅等量子概念引入到遗传算法当中。量子遗传算法也是一种概率搜素算法,它采用量子位来表示基因。遗传算法的基因所表达的是某一确定的信息,而量子遗传算法中,由于量子信息的叠加性使量子位所表达的基因包含所有可能的信息。

(2)在量子计算中,量子比特|0〉和|1〉表示微观粒子的两种基本状态,根据叠加原理,量子信息的叠加态可以表示为这两个基本态的线性组合,即|ψ〉=α|0〉+β|1〉,式中α和β为复数,表示量子位状态的概率幅,其中和分别表示量子态|ψ〉因测量导致坍缩到|0〉态和|1〉态的概率,且满足的归一化条件

(3)在量子遗传算法中,染色体采用量子位的概率幅进行编码,编码方案如下:

θ为量子比特的相位,n为染色体数目,k为量子位的位数即解空间的维数,rand是[0,1]范围内的随机数。每个量子位为分上下两行,分别对应两个量子基本态的概率幅,满足归一化条件,因此每个个体包含上下两条文化基因链,每条基因链是优化问题的一个候选解。由此可知,量子遗传算法在种群规模不变的情况下,候选解个数比遗传算法多一倍,增加了解空间的多样性,提高了寻优成功的概率。

(4)在量子遗传算法中,采用量子旋转门改变量子比特相位,以更新量子位的概率幅,从而达到基因变异的效果。

2、量子遗传算法的基本步骤:

step1:初始化父代染色体

step2:对每个染色体基因位即量子位进行测量,得到一个状态。对每个状态计算适应度,记录最佳个体及适应度。

step3:遗传进化设定的代数,其中采用量子旋转门对每一代染色体进行遗传变异。

step4:达到终止条件,输出最佳个体及适应度。


  
  1. % 利用量子遗传算法进行图像增强
  2. clc,clear all;close all;
  3. %% read picture
  4. img=rgb2gray(imread( 'test1.jpg'));
  5. img=imresize(img, 0.7);
  6. figure( 1);
  7. imhist(img); % 原始图像直方图
  8. figure( 2);
  9. imshow(img); % 原始图像
  10. img=double(img);
  11. [row,colume]=size(img); % 图像大小
  12. num_pixel=row*colume; % 像素个数
  13. %% 利用QGA求最优的alpha, beta
  14. MAX_Geneic= 20; % 遗传代数
  15. sizePopu= 10; % 初始种群数目
  16. tic;
  17. best=QGA_Sharpen(img,MAX_Geneic,sizePopu);
  18. disp([ 'The total time is ' num2str(toc) 's']);
  19. fprintf( 'The final alpha is %f\n',best.B( 1));
  20. fprintf( 'The final beta is %f\n',best.B( 2));
  21. fprintf( 'The best fitness value is %f\n',best.fitnessVal);
  22. %% 画出非线性函数(Beta函数)图像
  23. x= 0: 0.01: 1;
  24. y=pdf( 'beta',x,best.B( 1),best.B( 2));
  25. figure( 4);
  26. plot(x,y);
  27. %% 处理之后的图像灰度值
  28. img_sharp=best.sharpImg;
  29. figure( 5);
  30. imhist(uint8(img_sharp)); % 锐化后图像直方图
  31. figure( 6);
  32. imshow(uint8(img_sharp)); % 可视化处理后图像
  33. %imwrite(uint8(cameraman),'test2_opt.jpg');

完整代码或者仿真咨询添加QQ1575304183


转载:https://blog.csdn.net/m0_57702748/article/details/117172717
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场