图像检测显著图基于matlab失真提示鱼眼图显著图计算含Matlab源码 1903期

Posted 海神之光

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图像检测显著图基于matlab失真提示鱼眼图显著图计算含Matlab源码 1903期相关的知识,希望对你有一定的参考价值。

一、获取代码方式

获取代码方式1:
完整代码已上传我的资源:【图像检测显著图】基于matlab失真提示鱼眼图显著图计算【含Matlab源码 1903期】

获取代码方式2:
通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码。

备注:
订阅紫极神光博客付费专栏,可免费获得1份代码(有效期为订阅日起,三天内有效);

二、部分源代码


close all; clear; clc;
% 读取数据
savefile = 'ForensicImage/PSTest-3';
orgimage = imread(strcat(savefile,'.jpg'));
load(strcat(savefile,'.mat'));
figure,subplot(131);imshow(orgimage);title('伪造图像');

% 计算测量提示
K_value=line_number:4;
fake_saliency=zeros(size(orgimage,1),size(orgimage,2),'uint8'); 
Grave_Point_x=0;
Grave_Point_y=0;
Grave_K=0;
for i=1:line_number   
    % 距离提示
    K_value(i,1)=Distance_inv(Points(((1+(i-1)*3):(3+(i-1)*3)),:),fish_x,fish_y,fish_r,1);
    % 音量提示
    K_value(i,2)=Volume_inv(Points(((1+(i-1)*3):(3+(i-1)*3)),:),fish_x,fish_y,fish_r,1);
    % 组合提示
    K_value(i,3)=Combine(K_value(i,2),K_value(i,1));
    % 不可信的可能性
    K_value(i,4)=1-0.9*exp(-(K_value(i,3)*10)^2/((0.2^2)*2));
    % 计算重心
    if K_value(i,4)>0.5
    Grave_Point_x=Grave_Point_x+1*(Points(1+(i-1)*3,1)...
        +Points(2+(i-1)*3,1)+Points(3+(i-1)*3,1));
    Grave_Point_y=Grave_Point_y+1*(Points(1+(i-1)*3,2)...
        +Points(2+(i-1)*3,2)+Points(3+(i-1)*3,2));
    Grave_K=Grave_K+1;
    end
    fake_saliency = Line2image(fake_saliency, K_value(i,4),...
        Points(((1+(i-1)*3):(3+(i-1)*3)),:));
end

I=rgb2gray(orgimage);
BW= edge(I,'canny',0.1);
subplot(132);imshow(BW); title('伪造线路检测');
hold on;
for i=1:line_number  
    if K_value(i,4)>0.5 % line detection with S>0.5
        plot(Points((1+(i-1)*3),1),Points((1+(i-1)*3),2),'Color', [1,0,0]);
        plot(Points((2+(i-1)*3),1),Points((2+(i-1)*3),2),'Color', [1,0,0]);
        plot(Points((3+(i-1)*3),1),Points((3+(i-1)*3),2),'Color', [1,0,0]);
        line([Points((1+(i-1)*3),1) Points((2+(i-1)*3),1)], [Points((1+(i-1)*3),2) Points((2+(i-1)*3),2)],...
            'Color', [1,0,0], 'LineWidth', 3)
        line([Points((2+(i-1)*3),1) Points((3+(i-1)*3),1)], [Points((2+(i-1)*3),2) Points((3+(i-1)*3),2)],...
            'Color', [1,0,0], 'LineWidth', 3)
    else
        plot(Points((1+(i-1)*3),1),Points((1+(i-1)*3),2),'Color', [0,1,0]);
        plot(Points((2+(i-1)*3),1),Points((2+(i-1)*3),2),'Color', [0,1,0]);
        plot(Points((3+(i-1)*3),1),Points((3+(i-1)*3),2),'Color', [0,1,0]);
        line([Points((1+(i-1)*3),1) Points((2+(i-1)*3),1)], [Points((1+(i-1)*3),2) Points((2+(i-1)*3),2)],...
            'Color', [0,1,0], 'LineWidth', 3)
        line([Points((2+(i-1)*3),1) Points((3+(i-1)*3),1)], [Points((2+(i-1)*3),2) Points((3+(i-1)*3),2)],...
            'Color', [0,1,0], 'LineWidth', 3)
    end
end

% 生成假显著图
if Grave_K~=0
    Grave_Point_x=round(Grave_Point_x/(Grave_K*3));
    Grave_Point_y=round(Grave_Point_y/(Grave_K*3));
    fake_saliency(Grave_Point_y-10:Grave_Point_y+10,...
        Grave_Point_x-10:Grave_Point_x+10)=255;
end

三、运行结果

四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 蔡利梅.MATLAB图像处理——理论、算法与实例分析[M].清华大学出版社,2020.
[2]杨丹,赵海滨,龙哲.MATLAB图像处理实例详解[M].清华大学出版社,2013.
[3]周品.MATLAB图像处理与图形用户界面设计[M].清华大学出版社,2013.
[4]刘成龙.精通MATLAB图像处理[M].清华大学出版社,2015.

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

以上是关于图像检测显著图基于matlab失真提示鱼眼图显著图计算含Matlab源码 1903期的主要内容,如果未能解决你的问题,请参考以下文章

图像提取基于matlab鱼眼图像有效区域提取含Matlab源码 2186期

基于视觉显著图和加权最小二乘优化的红外与可见光图像融合(VSMWLS)

视觉显著性简介 Saliency Detection

2018年4月24日论文阅读

在Matlab中去除图像的鱼眼镜头失真时出错[重复]

R语言绘制火山图(volcano plot)实战:为差异表达基因(DEGs)添加颜色基于显著性阈值进行点的颜色美化为选定基因添加标签