demo:matlab灰度蒙太奇马赛克拼图(残次品)

您所在的位置:网站首页 路飞马赛克拼图原图 demo:matlab灰度蒙太奇马赛克拼图(残次品)

demo:matlab灰度蒙太奇马赛克拼图(残次品)

2024-06-29 04:57| 来源: 网络整理| 查看: 265

先插一嘴相似图片搜索的原理

大概类似Open CV马赛克拼图 1、批量导入图片,对图像进行处理,调整大小(我采用30x30) 2、计算每张图的平均灰度,建立每张图的灰度索引并按灰度级等分为10层 3、对于要拼的图,进行直方图均衡化(避免利用的灰度层次太集中)。调整大小(100x100),遍历每一个像素块,并归类在图片集的同一类中随机选择一张图填上(避免同一区域附近灰度值类似导致填充相同的图片)

代码太冗长了…

导入图片,进行统计分层

picstr=dir('*.jpg');%导入当前目录的所有图片 [row,~]=size(picstr); pic_data=cell(row,2); for i=1:row pic_data{i,1}=imread(picstr(i).name); A=pic_data{i,1}; num=round(sum(A(:))/900); pic_data{i,2}=num; end for i=1:row cnt(i)= pic_data{i,2};%灰度级 end cnt=sort(cnt); a(1)=cnt(round(row/10));a(2)=cnt(round(row*2/10));a(3)=cnt(round(row*3/10));a(4)=cnt(round(row*4/10)); a(5)=cnt(round(row*5/10));a(6)=cnt(round(row*6/10));a(7)=cnt(round(row*7/10));a(8)=cnt(round(row*8/10)); a(9)=cnt(round(row*9/10));%按个数进行等分,找到边界(由于我用的人像,所有图片都偏黑,如果按灰度等分会导致个数很不均匀) %%分为10层 pic_level1={};pic_level2={};pic_level3={};pic_level4={};pic_level5={};pic_level6={};pic_level7={};pic_level8={};pic_level9={};pic_level10={}; for i=1:row if pic_data{i,2}


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3