用c++做鸡蛋面积计算,数字图像处理的,求大虾啊

如题所述

你会用opencv吗?
直接二值化然后用cvcountnonzero,算出来白色的面积,很简单。
最主要的是白色像素点的个数就是面积。
欢迎追问。追问

可以具体一点么,opencv没学过呀。最好能开个头什么的,谢谢了

追答

那个shenaodong 回答的很详细,但是他的链码提取方法我表示怀疑,无论是chain code 还是 差分链码我觉得都和面积没关系。

具体的,你可以想象一下,一个连续的边缘的鸡蛋的图片,转化为数字图像之后不就成了小小的像素组成的图像了吗?
然后,你让鸡蛋的地方都变成白色的(灰度为1),除了鸡蛋的背景都是黑的(0)。
这样的话,你只要统计出来白色的像素的多少就可以了。
打个比方,比如你整个图片是100cm*100cm的,总共有100000个像素,鸡蛋的白色像素的个数是10000个吧,那么鸡蛋的面积是多少?是1000平方厘米吧?
大体思路很简单,用c++读图也很容易,但是但是但是我不想和你说,你百度半个小时就能做出来。自己学习的过程很珍贵的。
加油!

追问

黑白的边界点怎么分离啊,求指教

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-11-22
你可以用现成的图像处理库,给你个思路吧
1. 二值化
2.统计ROI区域的像素点数目
3.转换为面积
、、、、、
或者进行边界提取,根据获得边界,编制链码,根据周长与面积的关系估计面积。
第2个回答  2011-11-22
不要在百度提问 没人回答的

我需要用C++来实现误差传递公式,公式里面要求偏导,请问该怎么解决呢...
如果函数是固定的,你自己求出偏导函数,然后传入参数计算即可。第三种方案是,如果误差运行,使用差分的方法,在需要求值的领域选一个适当的半径,按照偏导数的定义求解。其实数字图像处理中,那些表达式非常复杂的偏微分算子都是用这个方案做的。

相似回答