当前位置:网站首页>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 .
边栏推荐
- [hfctf2020]babyupload session parsing engine
- 界面控件DevExpress WinForms皮肤编辑器的这个补丁,你了解了吗?
- Part VI, STM32 pulse width modulation (PWM) programming
- Neon Optimization: About Cross access and reverse cross access
- Install Firefox browser on raspberry pie /arm device
- Deeply explore the compilation and pile insertion technology (IV. ASM exploration)
- Receive user input, height BMI, BMI detection small business entry case
- 【JVM调优实战100例】04——方法区调优实战(上)
- go-zero微服务实战系列(九、极致优化秒杀性能)
- Rainstorm effect in levels - ue5
猜你喜欢
Part VI, STM32 pulse width modulation (PWM) programming
LLDP兼容CDP功能配置
[Niuke] b-complete square
【JVM调优实战100例】05——方法区调优实战(下)
BFS realizes breadth first traversal of adjacency matrix (with examples)
Return to blowing marshland -- travel notes of zhailidong, founder of duanzhitang
go-zero微服务实战系列(九、极致优化秒杀性能)
「精致店主理人」青年创业孵化营·首期顺德场圆满结束!
第七篇,STM32串口通信编程
迈动互联中标北京人寿保险,助推客户提升品牌价值
随机推荐
Asset security issues or constraints on the development of the encryption industry, risk control + compliance has become the key to breaking the platform
There is an error in the paddehub application
SuperSocket 1.6 创建一个简易的报文长度在头部的Socket服务器
windows安装mysql8(5分钟)
Neon Optimization: About Cross access and reverse cross access
go-zero微服务实战系列(九、极致优化秒杀性能)
[Niuke] [noip2015] jumping stone
BFS realizes breadth first traversal of adjacency matrix (with examples)
THREE.AxesHelper is not a constructor
Dell Notebook Periodic Flash Screen Fault
NEON优化:性能优化常见问题QA
线段树(SegmentTree)
城联优品入股浩柏国际进军国际资本市场,已完成第一步
接收用户输入,身高BMI体重指数检测小业务入门案例
[case sharing] basic function configuration of network loop detection
动态规划思想《从入门到放弃》
Building a dream in the digital era, the Xi'an station of the city chain science and Technology Strategy Summit ended smoothly
Let's talk about 15 data source websites I often use
Maidong Internet won the bid of Beijing life insurance to boost customers' brand value
docker 方法安装mysql