How do I get the lowest value of all the non zero value pixels?
How do I get the lowest value of all the non zero value pixels?
问题就是题目:如何从图像中获得非零的最小值。
优质解答:
You can use mask :
You can use mask :
Mat im
= imread(
"f:/lib/opencv/samples/data/lena.jpg", IMREAD_GRAYSCALE);
Mat mask = im > 0;
double minc[ 1], maxc[ 1];
minMaxLoc(im, minc, maxc,NULL,NULL,mask);
cout <<minc[ 0];
Mat mask = im > 0;
double minc[ 1], maxc[ 1];
minMaxLoc(im, minc, maxc,NULL,NULL,mask);
cout <<minc[ 0];
要点:
1、Mat mask = im>0;
这段代码的含义是所有im中大于0的地方在mask中为255,其他地方为0,很精炼;
2、 minMaxLoc(im, minc, maxc,NULL,NULL,mask);
最后一个参数的意思是过滤掉那些不需要的地方(mask中为255的地方)
所以合起来以后,代码就很好理解:
1、首先获得所有>0地方;
2、然后除去这些地方进行过滤。
HICEWORK!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!