lenna小姐姐作为图像领域中的hello world,20世纪的跨界达人,几代人的战斗对象。...对于入门Python的你如果了解了lenna小姐姐,那可相当于半根脚趾头踏入了图像处理的大门,所以今天从下面几个方面给大家介绍一下lenna小姐姐 lenna是谁? 为什么选这张图?...都对lenna做了什么? lenna近照 lenna是谁?...img_gray = cv2.imread('lenna.jpg',0) cv2.imshow('lenna', img_gray) # 判断键盘按键 key = cv2.waitKey() if key...lenna近照 再厉害的图片处理,也抵挡不过时间的威力,将近七旬的“小姐姐”以另一种方式为图片处理领域作出了自己的贡献 致敬 ?
Lenna图像的论文。...“Lenna图”的时代彻底结束了?...Lenna图备受喜欢的原因大概有这么几点。 首先从技术上来讲,Lenna图有丰富的细节、明暗对比,同时也有平滑的过渡区域,而这很考验图像压缩算法的能力。 众所周知,数字图像就是一个个像素点排列而成。...这两种信号,Lenna都有,分配比例还很恰当。 其次,Lenna是一张漂亮小姐姐的照片,懂得都懂。但除此之外,还有一个更重要的原因:人眼对人脸非常敏感。...正是由于以上种种优点,Lenna很快成了图像处理的标准测试图片。 根据国外一个网站统计,91年后Lenna在互联网上的出现次数开始猛长。
我们看看效果: # 读入图像 lenna = cv2.imread("images\\lenna.png", 0) # 图像降噪 lenna = cv2.GaussianBlur(lenna,...(5, 5), 0) # Canny边缘检测,50为低阈值low,150为高阈值high canny = cv2.Canny(lenna, 50, 150) cv2.imshow("canny", canny...canny = cv2.Canny(lenna, 100, 200) 再看看有噪声的情况: # 读入图像 lenna = cv2.imread("images\\lenna_gauss.png",...0) # 图像降噪 lenna = cv2.GaussianBlur(lenna, (5, 5), 0) # Canny边缘检测 canny = cv2.Canny(lenna, 50, 150) cv2...lenna = cv2.GaussianBlur(lenna, (9, 9), 0) 所以,Canny在有噪声的情况下表现好不好,取决于前面的降噪过程,这也是为什么OpenCV将图像降噪放在Canny
名字是讲课时老师说的,叫莉娜(Lenna)。...而更为重要得原因是这副图像,以及Lenna自身得魅力。 试问,《花花公子》封面插图得拍摄手法能不是顶尖得吗?而封面女郎的颜值与神态,必然也是上上之选。...1972年11月这期Lenna为封面的杂志,卖出了7,161,561份,是花花公子史上最畅销的一期。...1988年,已经回居瑞典的,结婚并有三个孩子的Lenna,受到了一家瑞典计算机相关刊物的采访,在得知自己照片被广泛用于计算机行业之后,Lenna非常开心。这是时隔16年后她第一次得知此事。...1997年5月,Lenna出席了在波士顿举行的IS&T会议50周年纪念会,会上Lenna成为了最受欢迎的嘉宾,并举行了一系列的互动: ? 老实说,看到女神晚年幸福的样子,我还真有点感动。
install.packages("bmp") library(bmp) lenna <- read.bmp("lena512.bmp") lenna <- t(lenna[,,1])[,nrow(lenna...[,,1]):1] # 导入时发生了旋转,转回去 image(lenna) lenna.svd <- svd(scale(lenna)) plot(lenna.svd$d^2/sum(lenna.svd...d) [1] 512 min(which(cumsum(lenna.svd$d^2/sum(lenna.svd$d^2))>0.9)) [1] 17 lenna_compression <- function...(dim) { u<- as.matrix(lenna.svd$u[,1:dim]) v <- as.matrix(lenna.svd$v[,1:dim]) d <- as.matrix(diag...(lenna.svd$d)[1:dim, 1:dim]) image(u%*%d%*%t(v)) } lenna_compression(17) min(which(cumsum(lenna.svd
imread(imagePath) #opencv默认的imread是以BGR的方式进行存储的 #而matplotlib的imshow默认则是以RGB格式展示 #所以此处我们必须对图片的通道进行转换 lenna_img....cvtColor(img,cv2.COLOR_BGR2RGB) #灰度图像处理 GrayImage = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) print(u"读入lenna...图的shape为", GrayImage.shape) #显示图形 titles = ['Source Image','Gray Image'] images = [lenna_img, GrayImage....cvtColor(img,cv2.COLOR_BGR2RGB) #灰度图像处理 GrayImage = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) print(u"读入lenna....cvtColor(img,cv2.COLOR_BGR2RGB) #灰度图像处理 GrayImage = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) print(u"读入lenna
.jpg lenna512x512.png lenna317x360_add_text.jpg PHASH测试效果: 结果是对分辨率不敏感,但是对图像的内容很敏感。...import PIL from PIL import Image import imagehash lenna400 = PIL.Image.open('..../res/lenna400x400.jpg') lenna512 = PIL.Image.open('..../res/lenna512x512.png') lennaText = PIL.Image.open('..../res/lenna317x360_add_text.jpg') p = imagehash.phash(lenna400) p1 = imagehash.phash(lenna512) p2 = imagehash.phash
基本的图像读写: 我们用图像处理的经典范例 Lenna 来做测试 ? 可自行搜索这幅图像的来头 ?...import cv2 as cv # 读图片 img = cv.imread('img/Lenna.png') # 图片信息 print('图片尺寸:', img.shape) print('图片数据:...常见的图像处理: import numpy as np # 灰度图 img_gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY) cv.imwrite('img/Lenna_gray.png...', img_gray) # 二值化 _, img_bin = cv.threshold(img_gray, 127, 255, cv.THRESH_BINARY) cv.imwrite('img/Lenna_bin.png...', img_bin) # 平滑 img_blur = cv.blur(img, (5, 5)) cv.imwrite('img/Lenna_blur.png', img_blur) # 边缘提取 _,
熟悉图像处理或者压缩的工程师、研究人员和学生,经常在他们的实验或者项目任务里使用“Lenna”或者“Lena”的图像。Lenna 图像已经成为被广泛使用的测试图像。...今天,Lenna 图像的使用被认为是数字图像历史上最重要的事件之一。 然而,这张图片背后的故事是颇有意思的,很多 人都抱有学究都是呆子的看法,然而 Lena 对此就是一个有力的驳斥。...lena(lenna)是一张于 1972 年 11 月出版的《Playboy》的中间插页,在 这期杂志中使用了“Lenna”的拼写,而实际莉娜在瑞典语中的拼写是“lena”。...他们要一张 256×256 大小的影像,而扫瞄机的规格是每英寸 100 条扫瞄线,因此他们扫瞄了这张照片上方 5.12 英寸宽的范围,也就是到达 Lenna 的肩部左右。 ...原始 Lena 图像是名叫 Lena Sjooblom 瑞典女郎的照片,刊登于 1972 年 11 月份的花花公子杂志(为了英语正确发音,有时候将Lena拼为Lenna)。
在下面一行中,Lenna被故意加上了噪声,并引起频谱的相应变化。频谱的中心代表了低频信号的振幅,频谱远离中心的地方代表了高频信号的振幅。 我们下面和加入噪声的图像比较。 ?...Lenna和她的频谱 现在,在图像中加入噪声。可以看到,原图像中各处增加了许多小“斑点”。这些斑点和原来的信号混合在一起。我们很难将一一指出这些噪音点。...(如果对图像处理有所了解,那么一定会知道Lenna的大名。她是一位阁楼(Playboy)女郎,但又是图像处理界的女神。你可以搜索"Lenna full image"来找到全图。...Lenna现在是一名老太太了,她“见证”了图像处理的发展。) 总结 信号可以分解为不同频率的简谐波分量。这有助于我们更好的理解复杂的信号。傅立叶变换是信号处理(以及图像处理)的基础工具。
import cv2 import numpy as np import matplotlib.pyplot as plt #读取图像 img = cv2.imread('lena.png') lenna_img...用来正常显示中文标签 plt.rcParams['font.sans-serif']=['SimHei'] #显示图形 titles = [u'原始图像', u'Roberts算子'] images = [lenna_img...import cv2 import numpy as np import matplotlib.pyplot as plt #读取图像 img = cv2.imread('lena.png') lenna_img...import cv2 import numpy as np import matplotlib.pyplot as plt #读取图像 img = cv2.imread('lena.png') lenna_img...import cv2 import numpy as np import matplotlib.pyplot as plt #读取图像 img = cv2.imread('lena.png') lenna_img
dll").getAbsolutePath()); // 读取图片 Mat img = Imgcodecs.imread("src/main/resources/img/lenna1...dll").getAbsolutePath()); // 读取图片 Mat img = Imgcodecs.imread("src/main/resources/img/lenna1....png"); // 保存图片 图片格式可以和原图片一致,也可以不一致 String fileName = "src/main/resources/tmp/lenna1....).getAbsolutePath()); // 读取图片 Mat image = Imgcodecs.imread("src/main/resources/img/lenna1...").getAbsolutePath()); // 读取原图 Mat image = Imgcodecs.imread("src/main/resources/img/lenna1
import cv2 import numpy as np import matplotlib.pyplot as plt #读取图像 img = cv2.imread('lena.png') lenna_img...用来正常显示中文标签 plt.rcParams['font.sans-serif']=['SimHei'] #显示图形 titles = [u'原始图像', u'Scharr算子'] images = [lenna_img...import cv2 import numpy as np import matplotlib.pyplot as plt #读取图像 img = cv2.imread('lena.png') lenna_img...用来正常显示中文标签 plt.rcParams['font.sans-serif']=['SimHei'] #显示图形 titles = [u'原始图像', u'LOG算子'] images = [lenna_img...import cv2 import numpy as np import matplotlib.pyplot as plt #读取图像 img = cv2.imread('lena.png') lenna_img
; return -1; } char f_name[10]="lenna.pgm"; //必须将lenna.pgm图像...,拷贝到工程目录下 mwArray file_name(f_name);//'lenna.pgm' mwArray m_threshold(1,1, mxDOUBLE_CLASS
/lenna.pgm"; //必须将lenna.pgm图像,拷贝到工程目录下 mwArray file_name(f_name);//'lenna.pgm' mwArray
我们选择经典图片Lenna作展示 [来源参考附录六],Lenna图片的大小是 。在这个例子中,我们首先将彩色的图片转化为灰度图片。...附录二:灰度图片降维前进行标准化处理的代码 from PIL import Image import numpy as np img_fn = "Lenna_test_image.png" img =...') Image.fromarray(im3) 附录三:灰度图片降维前不进行标准化处理的代码 from PIL import Image import numpy as np img_fn = "Lenna_test_image.png...i] Image.fromarray(im4) 附录五:彩色图片降维前不进行标准化处理的代码 from PIL import Image import numpy as np img_fn = "Lenna_test_image.png...np.zeros_like(im) for i in range(3): im4[:,:,i] = im3_channels[i] Image.fromarray(im4) 附录六:参考来源 Lenna
每天与Lena打交道的工程师,也有了更多的想法: 有人为她写诗,有人在她的图片上添加艺术效果,还有人给她取了一个具有文艺复兴气息的绰号:The Lenna。...: https://www.wired.com/story/finding-lena-the-patron-saint-of-jpegs/ https://en.wikipedia.org/wiki/Lenna...http://www.ee.cityu.edu.hk/~lmpo/lenna/Lenna97.html 作者系网易新闻·网易号“各有态度”签约作者 — 完 —
using OpenCvSharp; class Program { static void Main() { using var src = new Mat("lenna.png...mats1[1], mats1[2] }, mat4); } using (var t = new ResourcesTracker()) { var src = t.T(new Mat(@"lenna.png
那时的他正在进行图像压缩算法的测试,然而用的都是一些很无趣的风景图片,他正好翻到了这期 《 花花公子 》杂志,被 Lenna 的照片瞬间迷住。...Alexander 觉得照片鲜艳的色彩和丰富的纹理非常适合拿来测试,而且图中的女主角 Lenna 的美貌非常吸引人。。。...因为手头也正好不宽裕,她答应了下来,像所有的岛国爱情片女主角一样,杂志编辑用一个额外的 “ N ” 为她取了一个化名 “ Lenna ” 。 ?
领取专属 10元无门槛券
手把手带您无忧上云