当前位置:网站首页>Wood extraction in Halcon
Wood extraction in Halcon
2022-07-07 01:16:00 【Ride the magic horse and ride the clouds】
requirement : Extract the wood section in the following figure and count

result :


Code :
* Read images
read_image(image,' The position of the picture in the computer ')
* Image to grayscale
rgb1_to_gray(image,grayimage)
* Threshold segmentation
threshold (grayimage, regions, 60, 255)
* Open operation
opening_rectangle1(regions,Cut,2,7)
* Break the disconnected area
connection(Cut,connectedregions)
* Area screening
select_shape (connectedregions, SelectedRegions, 'area', 'and', 391.24, 20056.3)
* Count the number of wood in the first part
count_obj(SelectedRegions,Number1)
* Area screening
select_shape (connectedregions, SelectedRegions1, 'area', 'and', 24334.9, 100000)
* Corrosion calculation
erosion_circle(SelectedRegions1,regionerosion1,7.5)
* Break the disconnected area
connection(regionerosion1,connectedregions1)
* Area screening
select_shape (connectedregions1, SelectedRegions2, 'area', 'and', 2707.36, 20000)
* Count the number of wood in the second part
count_obj(SelectedRegions2,Number2)
* Merge the first part and the second part
concat_obj(SelectedRegions,SelectedRegions2,objectsconcat)
* Count the total number of timber in the combined part
count_obj(objectsconcat,Number3)
The process :
- Use read_image command , Read the wood section picture into , Put it in Image variable .

2. Use rgb1_to_gray command , Convert color pictures into grayscale images .

3. Use threshold command , Separate the wood section from the background .

4. Use opening_rectangle1 Command to open .

5. Use connection Command to break the disconnected area .

notes : Visible from above , There is still a lot of wood sticking after the first shipment , Therefore, consider bonding the part ( Red and purple in the above figure ) With the non adhesive part ( Other colors ) Count separately , Then sum the two . As for why not do it step by step in the fourth step , By adjusting the opening_rectangle1 Operator related parameters will clearly segment all wood , The main reason is that after setting the parameters, the assembly will give the purple piece of wood in the upper right corner of the figure above “ corrosion ” excessive , It is impossible to distinguish between wood and noise ( As shown in the figure below ), The setting is too small to divide the wood perfectly , It's very inconvenient .

6. Use select_shape operator , Conduct the first screening of wood according to the area .

7、 Use count_obj operator , Count the number of timber in the first part as 15.
8、 adopt select_shape operator , Select the image of the second part of the wood according to the area .

9. adopt erosion_circle operator , Separate the Connected Wood .

10、 Use connection Break the disconnected area .

11、 Use select_shape operator , Filter and remove impurities according to the area characteristics .

12、 Use count_obj operator , Count the number of timber in the second part as 10.
13、 Combine the two .10+15 I.e. total timber .

14. About the total number of timber , Not necessarily in step 7、 step 12 Calculate twice and then sum , have access to count_obj Operator directly finds the total number of wood in the above figure , Either way .

边栏推荐
- Cause of handler memory leak
- 省市区三级坐标边界数据csv转JSON
- Link sharing of STM32 development materials
- Supersocket 1.6 creates a simple socket server with message length in the header
- Part V: STM32 system timer and general timer programming
- SuperSocket 1.6 创建一个简易的报文长度在头部的Socket服务器
- NEON优化:矩阵转置的指令优化案例
- golang中的WaitGroup实现原理
- How do novices get started and learn PostgreSQL?
- Can the system hibernation file be deleted? How to delete the system hibernation file
猜你喜欢

第七篇,STM32串口通信编程

Transformation transformation operator
![[case sharing] basic function configuration of network loop detection](/img/d8/a367c26b51d9dbaf53bf4fe2a13917.png)
[case sharing] basic function configuration of network loop detection

Boot - Prometheus push gateway use

golang中的Mutex原理解析

"Exquisite store manager" youth entrepreneurship incubation camp - the first phase of Shunde market has been successfully completed!

城联优品入股浩柏国际进军国际资本市场,已完成第一步

批量获取中国所有行政区域经边界纬度坐标(到县区级别)
Deeply explore the compilation and pile insertion technology (IV. ASM exploration)
![[Niuke] [noip2015] jumping stone](/img/9f/b48f3c504e511e79935a481b15045e.png)
[Niuke] [noip2015] jumping stone
随机推荐
Taro2.* 小程序配置分享微信朋友圈
"Exquisite store manager" youth entrepreneurship incubation camp - the first phase of Shunde market has been successfully completed!
斗地主游戏的案例开发
c语言—数组
Make a simple graphical interface with Tkinter
UI控件Telerik UI for WinForms新主题——VS2022启发式主题
go-zero微服务实战系列(九、极致优化秒杀性能)
树莓派/arm设备上安装火狐Firefox浏览器
Return to blowing marshland -- travel notes of zhailidong, founder of duanzhitang
Part VI, STM32 pulse width modulation (PWM) programming
MySQL script batch queries all tables containing specified field types in the database
golang中的atomic,以及CAS操作
《安富莱嵌入式周报》第272期:2022.06.27--2022.07.03
How do novices get started and learn PostgreSQL?
UI control telerik UI for WinForms new theme - vs2022 heuristic theme
Transformation transformation operator
Grc: personal information protection law, personal privacy, corporate risk compliance governance
JTAG principle of arm bare board debugging
Neon Optimization: summary of performance optimization experience
Cause of handler memory leak