美丽的Lenna

来源:http://www.guokr.com/post/38131/

看到这姑娘有木有会心一笑哇?对了,对于每一个学习过图像处理或者压缩技术的人来讲,这是一张标准测试图片,可是,有木有人想过,她是谁呢?是什么让她成为如此经典的范例呢?下面我将为大家详细的8一下:lenna之前世今生。(像不像央视十套伪科学栏目的开场白????)

源头上讲,最开始,这张照片来自于一本Playboy(1972年11月刊)(所以我们一直没能有一本属于自己的教科书是因为我们木有合适的素材。。。),最初是一张扫描来的图片,那时候这姑娘才17,由南加州大学Dr. William K. Pratt(哎,寂寞的人啊,同道中人啊)扫描,随后的日子里,逐渐成为电子通信行业的标准检测图片。不夸张的讲,Lenna绝对称得上是电子通信行业的第一夫人。要是没有她老人家的杰出贡献,哪里能有如此多优秀的压缩算法,各位别说在网上看片了,看个图估计都费劲了。。。其实呢,Lenna是为了辅助正确英文读音而采用的拼写,人家姑娘的芳名其实叫Lena,一个美丽的瑞典姑娘(72年的时候),现在已经假为人妇很多年,是三个孩子的母亲,从事酒类行业的工作(应该不是啤酒妹哈)。话说她是在88年的一次采访中,才发现,她的照片已经为电子行业服务了许多许多年,发行了许多许多份。(突然想起了Hela,死了都不知道自己为肿瘤研究做了多么大的贡献。。。)

看累了哈,现在把图片放大一点点,多一些信息

神马?尺度还不够?必须的,这还不是原图,接着听8挂,最后上全图,来自Playboy的全图。

那么,为神马选择了Lena的照片呢?研究人员(David C. Munson)表示:首先,这张图片中包含了足够多的细节信息用于验证图片压缩方法及相关算法的效果,例如帽子的边缘,阴影,羽毛的边缘,色差,等等;其次,这是个漂亮的姑娘,研究算法的苦逼男们也需要些慰藉。。。。

恩,接着上图:

额,我没坑人,这个也是Lenna,这个是Lenna在98年IS&T大会上的照片,依然是这么动人的一个姑娘,额不对,奶奶。这波有爱的通信研究者在开会的时候特别请来这位’第一夫人‘,并且还小小的做了一个报告。据说现场求签名的后生,大叔,爷爷们是人山人海。她表示:"They must be so tired of me ... looking at the same picture for all these years!"

好啦,最后,上图,Playboy原版:

果然很漂亮,很有风情啊。你丫用在教材里的怎么就那么一点点啊,要是用全图,必然吸引更多小伙子学习通讯啊,网络啊啥的。。。哎,科技是第一生产力,妹子是科技的第一动力啊。

来源:http://www.guokr.com/post/38131/

### Lenna 图像对数变换实现方法及原理 对于图像处理中的对数变换而言,其核心在于扩展暗像素值的同时压缩亮像素值范围。这种非线性灰度调整能够有效增强低光照条件下的细节可见度[^1]。 具体来说,在应用到著名的测试图片Lenna上时,对数变换遵循如下公式: \[ s = c \log(1 + r) \] 其中 \(r\) 表示输入图像的像素强度,\(s\) 是经过转换后的输出图像对应位置上的新像素强度;而参数 \(c\) 则用于控制整个映射曲线的比例因子,通常设定为最大可能输出值除以自然对数底e取1加原始动态范围内最高亮度值得结果,即确保变换后图像具有合适的显示范围。 下面是Python环境下利用OpenCV库完成这一过程的具体代码实例: ```python import cv2 import numpy as np def log_transform(image, c=1): # 应用对数变换函数 transformed_image = c * np.log(1 + image) # 将数据类型转换回uint8并缩放到[0, 255] transformed_image = (transformed_image / transformed_image.max()) * 255 return transformed_image.astype(np.uint8) # 加载Lenna图像 lenna_img = cv2.imread('lenna.png', cv2.IMREAD_GRAYSCALE) if lenna_img is None: raise FileNotFoundError("未能找到指定路径下的Lenna图像文件") # 执行对数变换操作 resulting_image = log_transform(lenna_img) # 展示原图与变换效果对比 cv2.imshow('Original Image', lenna_img) cv2.imshow('Log Transformed Image', resulting_image) cv2.waitKey(0) cv2.destroyAllWindows() ``` 此段程序首先定义了一个名为`log_transform()` 的辅助函数来执行实际的数学运算,并通过适当比例因子调整最终视觉呈现的效果。接着读入一张灰度模式下保存有Lenna图案的照片作为实验素材,调用了上述自定义的方法对其进行处理,最后借助 OpenCV 提供的功能展示两者之间的差异以便观察者直观感受变化前后的区别。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值