【图像分割】光流生成标签(matlab)

2024-04-18 20:37

本文主要是介绍【图像分割】光流生成标签(matlab),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 1. 框架
  • 2. opticalFlow_label
  • 3. 光流

1. 框架

在这里插入图片描述

2. opticalFlow_label

close all; clear; clc;
% 使用光流进行标签的生成
%% 视频帧的读取
npy_data = readNPY('train.npy');%% 提取标签的坐标
first_label = squeeze(npy_data(2,1,:,:));
h = fspecial("gaussian", [3, 3], 1);
first_label_g = imfilter(first_label, h, 'replicate');   % 'conv'
first_label_c = edge(first_label_g, "canny");
% imshow(uint8(first_label_c*255));
first_label_double = im2double(first_label_c);
first_label_bw = im2bw(first_label_double, 0.5);
% imshow(uint8(first_label_bw * 255));
[h, w] = size(first_label);
xPos = [];
yPos = [];
step = 0;
for i = 1:hfor j = 1:wif first_label_bw(i, j) == 1
%             xPos = [xPos, i];       % 保存为行
%             yPos = [yPos, j];step = step + 1;if mod(step, 1) == 0xPos = [xPos; j];   % 保存为列yPos = [yPos; i];endendend
end%% 逐帧处理
first_frame = squeeze(npy_data(1,1,:,:));
first_frame = uint8(first_frame);
% imshow(first_frame);
[c,frame_num,img_h,img_w] = size(npy_data);
num = 0;
save_npy(1,1,:,:) = first_frame;
save_npy(2,1,:,:) = first_frame;   % 预留一个通道,用于保存标签for i = 2  % 2:frame_numnum = num + 1;currFrame = squeeze(npy_data(1,i,:,:));currFrame = uint8(currFrame);pyramidLayer = 4;kernelSize = 3;sigma = 1.5;iterNumMax = 5;ww = 13;[u, v] = affineLKopticalFlow(first_frame, currFrame, xPos, yPos, pyramidLayer, kernelSize, sigma, iterNumMax, ww);% 显示newFrame = repmat(currFrame, [1, 1, 3]);new_xPos = xPos + u;new_yPos = yPos + v;newFrame1 = zeros(size(currFrame));for kk = 1:length(xPos)%显示newFrame(int16(new_yPos(kk)), int16(new_xPos(kk)), 1) = 255;newFrame(:, :, 2) = currFrame;newFrame(int16(new_yPos(kk)), int16(new_xPos(kk)), 3) = 0;newFrame1(int16(new_yPos(kk)), int16(new_xPos(kk))) = 1;end   save_npy(1,i,:,:) = currFrame;save_npy(2,i,:,:) = first_frame;
%     writeNPY(save_npy, "test.npy");figure(1)imshow(newFrame)title("Pre")% 形态学处理 离散点的连接se = strel('disk',51);   % 加大半径 可以进行填充fc = imclose(newFrame1, se);
%     imwrite(fc, "fc.jpg")% bw = im2bw(fc);% fill_img = imfill(bw, "holes");   % 封闭区域figure(2)imshow(fc)title("fc")%将mask显示在图片上mask_frame = repmat(currFrame, [1, 1, 3]);[mask_h, mask_w, channel] = size(mask_frame);for i = 1:mask_hfor j = 1:mask_wif fc(i, j) == 1mask_frame(i, j, 1) = 255;mask_frame

这篇关于【图像分割】光流生成标签(matlab)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/915787

相关文章

HTML中meta标签的常见使用案例(示例详解)

《HTML中meta标签的常见使用案例(示例详解)》HTMLmeta标签用于提供文档元数据,涵盖字符编码、SEO优化、社交媒体集成、移动设备适配、浏览器控制及安全隐私设置,优化页面显示与搜索引擎索引... 目录html中meta标签的常见使用案例一、基础功能二、搜索引擎优化(seo)三、社交媒体集成四、移动

HTML input 标签示例详解

《HTMLinput标签示例详解》input标签主要用于接收用户的输入,随type属性值的不同,变换其具体功能,本文通过实例图文并茂的形式给大家介绍HTMLinput标签,感兴趣的朋友一... 目录通用属性输入框单行文本输入框 text密码输入框 password数字输入框 number电子邮件输入编程框

HTML img标签和超链接标签详细介绍

《HTMLimg标签和超链接标签详细介绍》:本文主要介绍了HTML中img标签的使用,包括src属性(指定图片路径)、相对/绝对路径区别、alt替代文本、title提示、宽高控制及边框设置等,详细内容请阅读本文,希望能对你有所帮助... 目录img 标签src 属性alt 属性title 属性width/h

HTML5 中的<button>标签用法和特征

《HTML5中的<button>标签用法和特征》在HTML5中,button标签用于定义一个可点击的按钮,它是创建交互式网页的重要元素之一,本文将深入解析HTML5中的button标签,详细介绍其属... 目录引言<button> 标签的基本用法<button> 标签的属性typevaluedisabled

全面解析HTML5中Checkbox标签

《全面解析HTML5中Checkbox标签》Checkbox是HTML5中非常重要的表单元素之一,通过合理使用其属性和样式自定义方法,可以为用户提供丰富多样的交互体验,这篇文章给大家介绍HTML5中C... 在html5中,Checkbox(复选框)是一种常用的表单元素,允许用户在一组选项中选择多个项目。本

Python实现自动化Word文档样式复制与内容生成

《Python实现自动化Word文档样式复制与内容生成》在办公自动化领域,高效处理Word文档的样式和内容复制是一个常见需求,本文将展示如何利用Python的python-docx库实现... 目录一、为什么需要自动化 Word 文档处理二、核心功能实现:样式与表格的深度复制1. 表格复制(含样式与内容)2

python如何生成指定文件大小

《python如何生成指定文件大小》:本文主要介绍python如何生成指定文件大小的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python生成指定文件大小方法一(速度最快)方法二(中等速度)方法三(生成可读文本文件–较慢)方法四(使用内存映射高效生成

Python中OpenCV与Matplotlib的图像操作入门指南

《Python中OpenCV与Matplotlib的图像操作入门指南》:本文主要介绍Python中OpenCV与Matplotlib的图像操作指南,本文通过实例代码给大家介绍的非常详细,对大家的学... 目录一、环境准备二、图像的基本操作1. 图像读取、显示与保存 使用OpenCV操作2. 像素级操作3.

C/C++的OpenCV 进行图像梯度提取的几种实现

《C/C++的OpenCV进行图像梯度提取的几种实现》本文主要介绍了C/C++的OpenCV进行图像梯度提取的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录预www.chinasem.cn备知识1. 图像加载与预处理2. Sobel 算子计算 X 和 Y

c/c++的opencv图像金字塔缩放实现

《c/c++的opencv图像金字塔缩放实现》本文主要介绍了c/c++的opencv图像金字塔缩放实现,通过对原始图像进行连续的下采样或上采样操作,生成一系列不同分辨率的图像,具有一定的参考价值,感兴... 目录图像金字塔简介图像下采样 (cv::pyrDown)图像上采样 (cv::pyrUp)C++ O