MATLAB
中南自动化学院至渝
好记性不如烂笔头,多写写
展开
-
matlab 批量划分数据训练集测试集
背景 从UCI下载的数据集需要进行一定的数据预处理,我下载了12个数据集准备在上面验证我的方法,但是数据处理花了好久时间文件结构 dataset_mat存放原始的没有划的.mat文件,preprocessedData 存放划分处理后的数据,每个数据名字为data,是一个结构体,含有四个成员原创 2021-11-15 11:11:28 · 22871 阅读 · 0 评论 -
分水岭算法 matlab实现
背景 做图像分割的时候用到了,就学习了一下大概思想 把图像中的像素大小理解成山地的海拔,向山地灌水,海拔低的地方会积水,这些地方称之为谷底。随着水位上升,不同谷底的水会相遇,相遇的地方就是分水岭。 &nbs原创 2021-09-14 11:12:40 · 22625 阅读 · 0 评论 -
笔记 matlab中isnan()函数和 ==NAN,
背景 安装了新版本的matlab2021, 在用之前的代码做数据处理时报错,提示 NAN 的比较应该用 isnan 函数情景 修改前,我是想利用 relieff 计算特征的分数(为了方便我叫他权重),但是 relieff 计算出来有负数和no原创 2021-08-31 11:17:26 · 21994 阅读 · 0 评论 -
matlab 矩阵去掉重复行
问题背景 在做多目标离散问题优化算法时,利用多个不同的进化算子产生了重复的解 ,所以有必要记录一下如何去掉重复的解,精简问题规模,尤其时迭代到后期,很多相同的解解决办法 unique(A,'rows',setOrder)原创 2021-07-19 11:10:53 · 23459 阅读 · 0 评论 -
matlab中的numel函数的作用
看代码的时候遇到了,就随手记录下,算是帮助我记忆numel 用法n = numel(arry)n = numel(arry,某种条件)numel解释n = numel(arry),用于统计 arry 元素个数,我觉得,用 size() 也能实现,我觉得一般用不到他n = numel(arry,某种条件) 用于统计数组 arry 中满足某个条件的元素个数,比如大于某个阈值,或者值等于最佳值的元原创 2021-07-15 20:06:19 · 21150 阅读 · 0 评论 -
与matlab里面 imregionalmin 函数相同的python代码
from skimage import measure,morphologydef imregionalmin(image): """Similar to matlab's imregionalmin""" reg_max_loc = morphology.local_minima(image) return reg_max_loc.astype(np.uint8)腾讯大学 scikit-image —— morphology —— local_minimalocal_m原创 2020-11-19 13:44:25 · 26370 阅读 · 0 评论 -
与matlab里面 imcomplement 函数(负片函数)相同的python代码
import cv2import numpy as npdef imcomplement(img): # 负片函数,相当于对图片取反 0<->255, 10<->245, 21<->234 table = np.array([255 - i for i in np.arange(0, 256)]).astype("uint8") return cv2.LUT(img, table) # 使用OpenCV的查找表函数原创 2020-11-19 13:27:07 · 26634 阅读 · 0 评论 -
与matlab里面 imreconstruct 函数相同的python代码
import cv2import numpy as npdef imreconstruct(marker, mask, SE=np.ones([3, 3])): # 开重构 """ 描述:以mask为约束,连续膨胀marker,实现形态学重建,其中mask >= marker 参数: - marker 标记图像,单通道/三通道图像 - mask 模板图像,与marker同型 - conn 联通性重建结构元,参照m原创 2020-11-19 13:23:45 · 26437 阅读 · 0 评论 -
与matlab里面 imadjust 函数相同的python代码
正在做一个把matlab程序转python的工作,遇到 matlab里面的 imadjust 函数,但是找了一圈没有对应的python函数,需要自定义一个函数import numpy as npfrom bisect import bisect_left # 已测试完毕,成功 def imadjust(src, tol=1, vin=[0, 255], vout=(0, 255)): # src : in原创 2020-11-19 13:15:52 · 27027 阅读 · 1 评论 -
matlab求峰度(kurtosis)、偏度(skewness)得函数及python对应的峰度(kurtosis)、偏度(skewness)函数
正在做一个把matlab程序转python的工作,记录下遇到的问题与解决方案 定义峰度kurtosis:用于度量x偏离某分布的程度。正太分布的峰度是3;当时间序列的曲线峰值比正太分布的高时,峰度大于3;当比正太分布的低时,峰度小于3。原创 2020-11-07 22:29:37 · 45670 阅读 · 13 评论 -
python求解峰度kurtosis 和matlab求得的值差很远 解决办法
正在做一个把matlab程序转python的工作,遇到如题问题 实际的代码中输入数据有点大,下面简单的以 x = [1,2,3,4,5] 来举例说明 matlab>> x = [1,2,3,4,5];>> kurtosis(x)ans = 1.7000原创 2020-11-07 22:15:11 · 26752 阅读 · 0 评论 -
OpenCV 中与MATLAB bwlabel函数功能完全相同的函数————connectedComponents 还有skimage.measure.label 函数
matlab调用代码L1 = bwlabel(DL);其中 DL 是一8位单通道图像函数原型int cv::connectedComponents (InputArray image, OutputArray labels, int connectivity = 8, int ltype = CV_32S )原创 2020-11-02 16:03:16 · 26770 阅读 · 0 评论 -
matlab数据类型转换是遇到的坑,整型转换居然是向无穷大方向取整,而不是丢弃小数部分
整型: int8()有符号,占用1个字节。向无穷大方向取整:正数向正无穷大方向,负数向负无穷大方向取整。int16():有符号,占用2个字节。向无穷大方向取整:正数向正无穷大方向,负数向负无穷大方向取整。int32():有符号,占用4个字节。向无穷大方向取整:正数向正无穷大方向,负数向负无穷大方向取整。int64():有符号,占用8个字节。向无穷大方向取整:正数向正无穷大方向,负数向负无穷大方向取整。uint8():无符号,占用1个字节。原创 2020-10-30 11:34:18 · 26205 阅读 · 1 评论 -
matlab与opencv读取同一帧视频时会得到不同的像素值
我正在尝试将 matlab 脚本转换为 python。 matlab 脚本读取 .avi 视频文件,并且对于视频中的每个帧,它得到三通道(红色,绿色和蓝色)的像素值,以便我做后续处理。 但是奇怪的事发生了,matlab 和 python的 rgb 像素值不一样,我也知道 matlab是RGB 方式存储,python 的 opencv 是 BGR 存储,但是匹原创 2020-10-26 08:42:24 · 25863 阅读 · 4 评论 -
matlab中的VideoReader函数 read函数
来源%取第一个文件夹里面的第一个视频readerObj = VideoReader(strcat(strPath,nameFolds{1},'\',fileList(1).name));vidFrames = read(readerObj); %读取所有帧numFrames = get(readerObj, 'NumberOfFrames'); % 帧数% numFrames = readerObj.NumberOfFrames % 也可以获得帧数 &nb原创 2020-10-19 22:00:51 · 28683 阅读 · 4 评论 -
MATLAB 的 dir函数、fullfile函数
来源%获取子文件夹dirList = dir(strPath); isSubDir = [dirList(:).isdir]; %# returns logical vector nameFolds = {dirList(isSubDir).name}'; nameFolds(ismember(nameFolds,{'.','..'})) = []; nSubDir=length(nameFolds);fileList=dir(fullfile(strcat(strPath,nameF原创 2020-10-19 21:46:30 · 30910 阅读 · 0 评论 -
MATLAB中ismember函数
来源nameFolds(ismember(nameFolds,{'.','..'})) = []; % 删除 nameFolds 里面的. 和 .. 元素函数原型: ismember(a,b)含义:看矩阵a中的数是不是矩阵b中的成员,是的话结果返回1,不是返回0实例>> a=[ 1 3 5 7 9 ];>> b=[1 2 3 4 5 6 7];>> c= ismember(a,b)c = 1×5 logical 数组 1 1原创 2020-10-19 21:33:51 · 26328 阅读 · 0 评论 -
matlab 对数据进行打乱
研究生数模里面,选训练集和测试集的时候用到了randIndex = randperm(325);train = data[randIndex(1:216)];test = data[randIndex(216:325)];随机从里面选 2/3 出来做训练集,剩下的做测试集原创 2020-09-27 21:22:47 · 28548 阅读 · 0 评论 -
做分类任务的时候,对类别进行编码
做分类的时候,对类别进行编码示例,假定给定的 15 数据集类别是这样1 1 2 5 3 5 3 1 4 1 2 2 4 3 1想要编码为1 1 0 0 0 0 0 1 0 1 0 &n原创 2020-09-26 21:21:58 · 25782 阅读 · 0 评论 -
模拟退火算法经典图的代码
模拟退火算法有一张特别经典的图,用于说明SA算法为何能跳出局部最优解,找到全局最优解。在写论文是必须要有原图和可编辑的原始文件,网上找了好久都没找到代码,在此记录一下。 假定初始解为左边蓝色点A,模拟退火算法...原创 2020-03-18 12:48:23 · 25200 阅读 · 0 评论