双边if与if。。。。。。 else。的用法细节之个人总结

本文总结了双边if与if...else在编程中的用法区别和细节。在判断奇偶数等通用情况下,两者皆可使用。但在大小写转换等特定场景中,if...else的使用能避免错误并得到期望结果。当第一个if的输出影响到第二个if的条件时,应谨慎选择使用双边if。理解其适用范围对于灵活编程至关重要。

**

双边if与if。。。。。。 else。的用法细节之个人总结

**
就一般情况来说 两种都是都是通用的因为用法都比较简单
下面来说下 他们的用法的区别和细节
第一大类 通用情况
比如说 用程序来判断奇数偶数
在这里插入图片描述
在这里插入图片描述

无论是第一种 还是第二种 都是可以的

第二大类 不能通用情况
比如说 用程序来大小写相互转换的程序
在这里插入图片描述
这是错误的写法 这会导致小写无法转换成大写
如果将双边if 换成if。。。else 就会的到满意的结果
总结
A如果第一个if的输出结果 会影响到第二个最后输出的值(也就是说第一个if的输出结果是第二个if的条件 就会输出第二个if的结果 最终影响到最终输出结果)
B假如说第一个if的输出结果不会使第二个if的条件成立
那么结果也就不会影响
最后的一句经典 假如说你没有理解 最保险的还是一直用 if。。。。else 理解的话应该可以灵活调用 if。。。else的适用范围大于双边if的适用范围

本人第一篇文章 初来乍到 请多关注

### 结合中值滤波双边滤波的降噪处理 为了实现结合中值滤波双边滤波的降噪处理,可以先应用中值滤波去除脉冲噪声(如盐胡椒噪声),然后再使用双边滤波来平滑图像并保留边缘细节。这种方法能够在保持图像结构的同时有效减少多种类型的噪声。 以下是具体的 MATLAB 实现: ```matlab function img_filtered = combinedFiltering(img, hsize, sigmaColor, sigmaSpace) % 中值滤波参数设置 medfiltSize = [hsize hsize]; % 双边滤波参数设置 d = hsize; % 应用中值滤波 img_med = medfilt2(img, medfiltSize); % 显示中间结果 subplot(1,3,1); imshow(img); title('原始图像'); subplot(1,3,2); imshow(img_med); title('中值滤波后的图像'); % 对灰度图或彩色图分别进行双边滤波 if size(img, 3) == 1 || ndims(img) == 2 % 灰度图像 img_bilat = imbilatfilt(double(img_med), d, sigmaColor, sigmaSpace); elseif size(img, 3) == 3 % 彩色图像 img_bilat(:,:,1) = imbilatfilt(double(img_med(:,:,1)), d, sigmaColor, sigmaSpace); img_bilat(:,:,2) = imbilatfilt(double(img_med(:,:,2)), d, sigmaColor, sigmaSpace); img_bilat(:,:,3) = imbilatfilt(double(img_med(:,:,3)), d, sigmaColor, sigmaSpace); end % 转换回 uint8 类型以便显示 img_filtered = uint8(img_bilat); % 显示最终结果 subplot(1,3,3); imshow(img_filtered); title('最终滤波效果'); end ``` 此函数 `combinedFiltering` 接受四个输入参数:待处理的图像 `img`、窗口大小 `hsize` 两个用于控制双边滤波强度的标准差 `sigmaColor` `sigmaSpace`。该程序首先执行中值滤波以消除尖锐的异常点,接着利用双边滤波进一步改善图像质量,在抑制剩余噪声的同时保护重要特征[^1]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值