两层margin叠加问题

两个或多个毗邻的普通流中的块元素垂直方向上的 margin 会折叠; 
外边距重叠是指两个垂直相邻的块级元素,当上下两个边距相遇时,其外边距会产生重叠现象,且重叠后的外边距,等于其中较大者。 
同理,如果一个无内容的空元素,其自身上下边距也会产生重叠。

防止外边距重叠解决方案:

外层元素padding代替
内层元素透明边框 border:1px solid transparent;
内层元素绝对定位 postion:absolute:
外层元素 overflow:hidden;
内层元素 加float:left;或display:inline-block;
---------------------  
原文:https://blog.youkuaiyun.com/misttt/article/details/77778530  

要在 Halcon 中实现两个图像在不同区域的叠加,可以按照以下方式完成: ### 方法概述 为了实现两个图像的不同区域叠加,通常需要以下几个步骤: 1. 定义或提取目标区域。 2. 对其中一个图像应用裁剪或者遮罩操作,使其仅保留指定区域的内容。 3. 使用 `combine_images` 或者其他像素级运算算子来将两幅图像进行融合。 以下是具体的操作流程以及代码示例: --- ### 1. 图像加载与初始化 首先读取两张待处理的图像,并定义它们对应的感兴趣区域(ROI)。这些 ROI 可以通过阈值分割、形态学操作或其他方法获得。 ```hdevelop read_image (Image1, 'image1_path') read_image (Image2, 'image2_path') * 假设我们已经获得了两个不同的区域 Region1 和 Region2 threshold (Image1, Region1, 100, 255) (* 获取第一个图像的目标区域 *) opening_circle (Region1, Region1Cleaned, 3) threshold (Image2, Region2, 100, 255) (* 获取第二个图像的目标区域 *) closing_rectangle1 (Region2, Region2Closed, 5, 5) ``` 这里分别对 `Image1` 和 `Image2` 进行了简单的二值化和形态学操作,得到各自的感兴趣区域 `Region1` 和 `Region2`[^1]。 --- ### 2. 裁剪或掩码生成 对于每张图像,可以通过其对应区域创建掩码并将其应用于原始图像。这一步骤确保只有特定区域内像素被保留下来。 #### 创建掩码 ```hdevelop gen_empty_region (EmptyRegion) dev_set_draw ('margin') reduce_domain (Image1, Region1Cleaned, ImageMask1) reduce_domain (Image2, Region2Closed, ImageMask2) ``` 此时,`ImageMask1` 和 `ImageMask2` 是经过各自区域过滤后的结果图片[^2]。 --- ### 3. 图像组合 最后一步就是把这两个部分结合起来形成最终的结果图。可以选择多种方式进行合成比如加权求和(`combine_images`)或是逻辑运算等。 #### 加法混合 如果希望简单地相加,则可以直接调用如下命令: ```hdevelop add_image (ImageMask1, ImageMask2, CombinedImage, 1) ``` 此函数会按逐像素的方式累加输入源中的亮度值到输出目标里去[^3]。 #### 更复杂的透明度控制 当涉及到更精细的效果调整时,可能还需要考虑权重参数设置等问题,在这种情况下可采用下面的方法代替基本版块拼接: ```hdevelop mult_image (ImageMask1, WeightFactorForImg1, TempResult1, 'real') mult_image (ImageMask2, WeightFactorForImg2, TempResult2, 'real') add_image (TempResult1, TempResult2, FinalCombinedImage, 1) convert_image_type (FinalCombinedImage, ResultImage, 'byte') ``` 在这里引入了额外的比例因子变量 (`WeightFactorForImgX`) 来调节各层贡献程度大小关系;另外注意类型转换环节以防溢出错误发生。 --- ### 总结说明 以上便是基于 HALCON 平台下的一种常见做法用于解决此类需求——即将多个独立对象放置于同一画布之上同时保持原有特征不变形失真最小化展示出来。当然实际项目当中也许还会遇到更多特殊情况需灵活应对修改算法细节适应具体情况变化。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值