zoukankan      html  css  js  c++  java
  • 将图像的代数中心转移到几何中心上

    function  k2  = CenPtran( k,m,n)
    %UNTITLED Summary of this function goes here
    %   Detailed explanation goes here
    centerGPos = cenP(k);
    centerGPos1 = [floor(m/2)+1,floor(n/2)+1];
    if mod(abs(centerGPos(1)-centerGPos1(1)),2) == 0 && mod(abs(centerGPos(2)-centerGPos1(2)),2) ==0
        k1 = zeros(m+abs(centerGPos(1)-centerGPos1(1)),n+abs(centerGPos(2)-centerGPos1(2)));
    elseif  mod((centerGPos(1)-centerGPos1(1)),2) == 0&&mod(abs(centerGPos(2)-centerGPos1(2)),2) ~=0
        k1 = zeros(m+abs(centerGPos(1)-centerGPos1(1)),n+abs(centerGPos(2)-centerGPos1(2))+1);
    elseif  mod((centerGPos(2)-centerGPos1(2)),2) ==0&&mod((centerGPos(1)-centerGPos1(1)),2) ~= 0
        k1 = zeros(m+abs(centerGPos(1)-centerGPos1(1))+1,n+abs(centerGPos(2)-centerGPos1(2)));
    else
        k1 = zeros(m+abs(centerGPos(1)-centerGPos1(1))+1,n+abs(centerGPos(2)-centerGPos1(2))+1);
    end
    [k1m k1n] = size(k1);
    if centerGPos(1)-centerGPos1(1)>= 0 && centerGPos(2)-centerGPos1(2)>=0
        for ki =1:m
            for kj =1:n
                k1(ki,kj) = k(ki,kj);              
            end
        end
    elseif centerGPos(1)-centerGPos1(1)<0 && centerGPos(2)-centerGPos1(2)==0
        for ki = (abs(centerGPos(1)-centerGPos1(1))+1):(abs(centerGPos(1)-centerGPos1(1))+m)
            for kj =1:k1n
                k1(ki,kj) = k(ki-abs(centerGPos(1)-centerGPos1(1)),kj);               
            end
        end
    elseif centerGPos(2)-centerGPos1(2)<0&&centerGPos(1)-centerGPos1(1)== 0
        for ki = 1:k1m
            for kj =( (abs(centerGPos(2)-centerGPos1(2)))+1):((abs(centerGPos(2)-centerGPos1(2)))+n)
                k1(ki,kj) = k(ki,kj-abs(centerGPos(2)-centerGPos1(2)));               
            end
        end
    elseif  centerGPos(1)-centerGPos1(1)<0&& centerGPos(2)-centerGPos1(2)>0 
         for ki = (abs(centerGPos(1)-centerGPos1(1))+1):(abs(centerGPos(1)-centerGPos1(1))+m)
            for kj =1:n
                k1(ki,kj) = k(ki-abs(centerGPos(1)-centerGPos1(1)),kj);               
            end
         end
    elseif centerGPos(1)-centerGPos1(1)>0&& centerGPos(2)-centerGPos1(2)<0 
            for ki =1:m
                for kj =( (abs(centerGPos(2)-centerGPos1(2)))+1):((abs(centerGPos(2)-centerGPos1(2)))+n)
                    k1(ki,kj) = k(ki,kj-abs(centerGPos(2)-centerGPos1(2)));               
                end
            end
    else
        for ki = (abs(centerGPos(1)-centerGPos1(1))+1):(abs(centerGPos(1)-centerGPos1(1))+m)
            for kj =( (abs(centerGPos(2)-centerGPos1(2)))+1):((abs(centerGPos(2)-centerGPos1(2)))+n)
                k1(ki,kj) = k(ki-abs(centerGPos(1)-centerGPos1(1)),kj-abs(centerGPos(2)-centerGPos1(2)));               
            end
        end
    end
    centerGPos2 = cenP(k1);
    x1 = centerGPos2(1)-floor(m/2);
    x2 = x1+2*floor(m/2);
    y1 =  centerGPos2(2)-floor(n/2);
    y2 = y1+2*floor(n/2);
    k2 = k1(x1:x2,y1:y2);
  • 相关阅读:
    js 实现商品放大镜效果
    Angular.js数据绑定时自动转义html标签及内容
    Sublime 快捷键一览表
    这么牛的简历,你见过么?
    正向代理与反向代理
    负载均衡
    redis搭建与安装
    svn服务配置和日常维护命令
    Mysql导出导入
    linux搭建svn服务器
  • 原文地址:https://www.cnblogs.com/jiangnanrain/p/3271106.html
Copyright © 2011-2022 走看看