OpenCV中如何生成随机矩阵

1.中心思想:不要使用randu、randn这种,要先用时间值作为随机种子,然后使用fill。


2.该方法不能指定种子,每次生成的序列都一样,都是91、83、138……

void CMyXXXDlg::OnBnClickedButton1()
{
Mat mat_map(30, 40, CV_8UC1);

randu(mat_map, 0, 255);

CString str;
str.Format(_T("%d"), mat_map.at<uchar>(0,0));
MessageBox(str);
}


3.该方法可以指定种子,每次运行结果都不一样:

void CMyXXXDlg::OnBnClickedButton2()
{
Mat mat_map(30, 40, CV_8UC1);

RNG rng(unsigned int(time(NULL)));
rng.fill(mat_map, RNG::UNIFORM, 0, 255, false);

CString str;
str.Format(_T("%d"), mat_map.at<uchar>(0,0));
MessageBox(str);
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值