图片随机抽样

clear all;
clc;
N=1000;           %需要抽取的图片的数量
num=3687;       %图片的总数量
p=randperm(num);%随机生成1~num个随机整数
a=p(1:N);         %取p的前N个数
for i=1:N
    %读取图片的路径和名字,你需要修改为你图片库的路径,注意用双斜线
  imageName=sprintf('F:\\classDatas\\classData1\\%06d.jpg',a(i)); 
  %fprintf('%s\n',imageName);
  f=imread(imageName);  %读取图片
  fileName=sprintf('F:\\classDatas\\std_classData1\\%06d.jpg',a(i));%抽取的图片存放的路径
  imwrite(f,fileName);  %保存图片
 %disp('imageName');
end

 

以下是参考代码,供你参考: ```matlab % 导入两个视频 video1 = VideoReader('kungfu_panda.mov'); video2 = VideoReader('book.mov'); % 读取书籍图片 cv_cover = imread('cv_cover.jpg'); % 获取书籍图片的特征点和特征描述 cv_cover_gray = rgb2gray(cv_cover); points_cv = detectFASTFeatures(cv_cover_gray); [features_cv, points_cv] = computeBrief(cv_cover_gray, points_cv); % 设置局部图片的范围 row_start = 50; row_end = 300; col_start = 200; col_end = 400; % 创建视频写入对象 writerObj = VideoWriter('result.mp4', 'MPEG-4'); writerObj.FrameRate = 30; open(writerObj); while hasFrame(video1) && hasFrame(video2) % 获取功夫熊猫视频帧图片中特定范围图像 img1 = readFrame(video1); img1_gray = rgb2gray(img1); img1_crop = img1_gray(row_start:row_end, col_start:col_end); % 调整局部图片尺寸与cv_cover相同 img1_resize = imresize(img1_crop, size(cv_cover_gray)); % 获取功夫熊猫视频帧的特征点和特征描述 points_panda = detectFASTFeatures(img1_resize); [features_panda, points_panda] = computeBrief(img1_resize, points_panda); % 匹配特征点 matches = matchFeatures(features_cv, features_panda); % 获取匹配点对应的特征点 matched_cv = points_cv(matches(:, 1)); matched_panda = points_panda(matches(:, 2)); % 利用随机抽样一致方法求解单应性矩阵 [H, inliers] = ransacHomography(matched_cv.Location, matched_panda.Location); % 将局部图片嵌入书籍图片中 img2 = readFrame(video2); img2_gray = rgb2gray(img2); img2_warped = compositeH(H, img1_resize, img2_gray); % 保存结果并写入视频 result = img2; result(row_start:row_end, col_start:col_end, :) = img2_warped; writeVideo(writerObj, result); end % 关闭视频写入对象 close(writerObj); ``` 需要注意的是,其中的`computeBrief`和`compositeH`函数需要自行实现。同时,单应性矩阵的求解方法`ransacHomography`也需要自行实现,可以使用MATLAB内置的`estimateGeometricTransform`函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值