资源简介
自己编写的代码。matlab,简单实用。并做了注释
代码片段和文件信息
clear all;
tic;
for i=1:515
for j=1:515 %行数和列数均为515
x=i-258;
y=j-258;
r=sqrt(x^2+y^2); %画圆形区域
if r<=128 %规定圆形区域半径
if((x>=0)&&(y<=0))||((x>=0)&&(y>=0)&&(y/x<=tan(pi/6))) %由(2550255)向(25500)转变,由(25500)向(2552550)转变
m=asin(x/r)/pi*180; %旋转角
a(ij1)=255;
if(abs(y/x)<=tan(pi/6))
if(y<0)
a(ij2)=255/60*(m-60);
a(ij3)=0;
else
a(ij2)=255/60*(120-m);
a(ij3)=0;
end
else
a(ij2)=0;
a(ij3)=255-255/60*m;
end
else if((y>=0)&&(x<=0)&&(y/x<=-tan(pi/6))||((x>=0)&&(y>=0)&&(y/x>=tan(pi/6)))) %由(2552550)向(02550)转变,由(02550)向(0255255)转变
m=asin(y/r)/pi*180;
a(ij2)=255;
if(x<0)
a(ij1)=0;
a(ij3)=255/60*(90-m);
else
a(ij3)=0;
a(ij1)=255-255/60*(m-30);
end
else %由(0255255)向(00255)转变,由(00255)向(2550255)转变
m=asin(x/r)/pi*180;
a(ij3)=255;
if(abs(y/x)<=tan(pi/6))
if(y>=0)
a(ij1)=0;
a(ij2)=255-255/60*(-60-m);
else
a(ij1)=0;
a(ij2)=255-255/60*(120+m);
end
else
a(ij2)=0;
a(ij1)=255/60*(60+m);
end
end
end
a(ij1)=(a(ij1)-(a(ij1)-128)/256*r); %其他区域赋值
a(ij2)=(a(ij2)-(a(ij2)-128)/256*r);
a(ij3)=(a(ij3)-(a(ij3)-128)/256*r);
else
a(ij1)=0;a(ij2)=0;a(ij3)=255; %背景颜色
end
end
end
a=uint8(a);
imshow(a);
imwrite(a‘circle.jpg‘);
toc;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2022 2011-11-24 09:57 矩形圆形色调,饱和度,亮度图\circle.asv
文件 9931 2011-11-24 10:05 矩形圆形色调,饱和度,亮度图\circle.jpg
文件 2017 2011-11-24 10:01 矩形圆形色调,饱和度,亮度图\circle.m
文件 11147 2011-11-23 21:48 矩形圆形色调,饱和度,亮度图\rectangle.jpg
文件 1569 2011-11-23 21:40 矩形圆形色调,饱和度,亮度图\rectangle.m
文件 487 2011-11-23 21:46 矩形圆形色调,饱和度,亮度图\作业解释.txt
文件 2022 2011-11-24 09:57 矩形圆形色调,饱和度,亮度图\复件 circle.asv
目录 0 2011-12-19 14:41 矩形圆形色调,饱和度,亮度图
----------- --------- ---------- ----- ----
29195 8
- 上一篇:Runge_Kutta法解初值问题
- 下一篇:模糊k均值聚类算法matlab实现
评论
共有 条评论