Matlab针对图片处理的随机二维坐标生成

Matlab针对图片处理的随机二维坐标生成

今天遇到一个问题,就是想要把图片处理成散点的方式,用opencv什么的不懂,也不是生成3D点云,就是简单的散点,就想通过Matlab的随机数的方式来生成,结果找了半天也没有合适的代码。后来想了想,觉着自己很蠢,可以不局限于图片,可以先根据图片的像素点来生成多个随机数,而后将随机数用到图片里面,来去掉图片中的数值,也就是颜色。
代码如下:

a=randperm(17028,12000);
I=imread('2.png');

%imshow(I);
gray=double(rgb2gray(I))
[w,h]=size(gray);
gray(a)=0;
imshow(gray);

R=I(:,:,1); %red
G=I(:,:,2); %green
B=I(:,:,3); %blue
R(a)=0;
G(a)=0;
B(a)=0;
%imshow(R);
for i=1:w
    for j=1:h
        blue(i,j,1) = R(i,j);
        blue(i,j,2) = G(i,j);
        blue(i,j,3) = B(i,j);
    end
end
imshow(blue,'border','tight','initialMagnification','fit');

效果是这样的:
Matlab针对图片处理的随机二维坐标生成
就先这样吧,肯定还有更好的方法,希望大神指教

上一篇:每日一道leetcode75. 颜色分类


下一篇:vue组件样式穿透/deep/ ::v-deep >>>区别