像素

访问图像中的像素

心不动则不痛 提交于 2019-11-30 18:43:39
1.用Mat.data获取到的指针类型默认为uchar*型的,而与矩阵中元素的数据类型无关。使用时要注意指针类型的转化。 2.灰度图Mat矩阵中的元素多数是uchar(CV_8UC1)型的,有时需要访问其中的单个元素(像素值)并用"cout<<"输出。需要注意的是,用"cout<<"输出char/uchar型数据时,输出的并不是数字数据,而是数字对应的ASCII码字符,若对应的字符不可打印,则显示输出为空。若要求输出数字数据,可使用 类型强制转换后输出 (如:cout<<(int)num<<endl;)。 3.Mat的各行数据在内存中都是 连续存储 的,但行与行之间的地址不一定连续。因此需要用哪行的数据,就最好先获得对应行的首地址( uchar* p = image.ptr<uchar>(i ),获取第i行首地址 )。 4.用imshow()显示Mat矩阵存储的图像信息时,若元素的数据类型是uchar(CV_8UC1)的,就默认有256(2的8次方)个灰度级;若元素的数据类型是用int(CV_32SC1)的,就默认有2147483647 (2的32次方)个灰度级。普通灰度图的灰度值都在0-255之间,在CV_8UC1下能够正常显示。要是将其数据类型转化为CV_32SC1的,0-255的灰度值在2147483647的尺度下就显得范围过窄且无限靠近于0,用imshow(

BMP文件格式

两盒软妹~` 提交于 2019-11-30 18:40:48
BMP(Bitmap-File)图像文件,又叫位图文件,是Windows采用的图形文件格式,在Windows环境下运行的所有图像处理软件都支持BMP图像文件格式。Windows系统内部个图像绘制操作以BMP为基础的。一个BMP文件由四个部分组成。 l 位图文件头 l 位图信息段 l 调色板 l 位图数据 一个BMP文件,可以用代码表示,如下: typedef struct tagBITMAP_FILE { BITMAPFILEHEADER bitmapheader; BITMAPINFOHEADER bitmapinfoheader; PALETTEENTRY palette[256]; UCHAR *buffer; //UCHAR大小1字节(通BYTE) }BITMAP_FILE; BMP文件头:BITMAPFILEHEADER typedef struct tagBITMAPFILEHEADER{   WORD bfType;   DWORD bfSize;   WORD bfReserved1;   WORD bfReserved2;   DWORD bfOffbits; } bfType 说明文件的类型,该值必须是0x4D42,也就是字符‘BM’,否则表示根本不是BMP bfSize 说明位图文件的大小,用字节为单位 bfReserved1 保留,必须设置为0

Android 屏幕自适应问题

让人想犯罪 __ 提交于 2019-11-30 16:26:56
Android9 patch 图片 (.9.png 格式图片) 的特点和制作 一.9.png格式的文件的特点 与传统的png 格式图片相比, 9.png 格式图片在图片四周有一圈一个像素点组成的边沿,该边沿用于对图片的可扩展区和内容 显示区进行定义。这种格式的图片在android 环境下具有自适应调节大小的能力。(1)允许开发人员定义可扩展区域,当需要延伸图 片以填充比图片本身更大区域时,可扩展区的内容被延展。(2)允许开发人员定义内容显示区,用于显示文字或其他内容. 如下图所示: 左侧和上方的黑线交叉的部分即可扩展区域,右侧和下方的黑线交叉的部分即内容显示区. 二 .9.png 图片的制作 android sdk 的 tools文件夹下提供了制作该格式图片的工具 draw9patch.bat。使用此工具打开任意图片之后,将鼠标置于图片上。 被黑色覆盖的是不可编辑(锁住)的区域,周围的一圈一个像素的边沿是可编辑区域。按住鼠标左键,在左侧和上方的边沿画出可扩展区。 在右侧和下方画出内容显示区。完成绘制以后,选择file-> save ,即可保存为 .9.png 格式的文件,并在android项目中使用。 代码动态布局: [java] view plain copy //获取屏幕高宽 DisplayMetrics metric = new DisplayMetrics();

opencv图像处理之常见滤波器

大兔子大兔子 提交于 2019-11-30 15:12:24
图像平滑 Smoothing, also called blurring, is a simple and frequently used image processing operation. 平滑,也叫模糊. 本质就是把某点的像素值转换为其及其周围像素值的不同权重的叠加.h(k,l)即为卷积核,或者叫滤波器filter. 有几种常见的filter Normalized Box Filter Gaussian Filter Median Filter Bilateral Filter 均值滤波 权重矩阵如上. img2= cv2.blur(img,(5,5)) The call blur(src, dst, ksize, anchor, borderType) is equivalent to boxFilter(src, dst, src.type(), anchor, true, borderType). https://docs.opencv.org/master/d4/d86/group__imgproc__filter.html#ga8c45db9afe636703801b0b2e440fce37 效果如下: 高斯滤波 即假设某一位置的像素和其邻域像素符合高斯分布.具体的说的话,就是每一位置的像素的权重符合高斯分布.这样的话,给定一个高斯分布,及高斯核的大小

爬虫:汽车之家字体反爬

泄露秘密 提交于 2019-11-30 09:28:04
1.我的目的 汽车之家对某些字体进行了反爬虫操作,直接获取是一堆乱码,这次要做的是对这些乱码进行转化,转化为我们想要的符号\汉字 2.前提知识 首先得了解一下字体反爬虫是什么意思: 当前css可以指定一个@font-face,表示一种从服务器下载的自定义字体,如果需要使用的时候就可以使用font-face;而浏览器一般在加载网页的时候也会自动去下载服务器自定义的字体。 不同的浏览器对应不同的声明方式: @font - face { font - family : '字体名称' ; src : url ( 'http://www.example.com/字体名称.eot' ) ; / * IE9 Compat Modes * / src : url ( 'http://www.example.com/字体名称.eot?#iefix' ) format ( 'embedded-opentype' ) , / * IE6 - IE8 * / url ( 'http://www.example.com/字体名称.ttf' ) format ( 'truetype' ) , / * Safari , Android , iOS * / url ( 'http://www.example.com/字体名称.woff' ) format ( 'woff' ) , / * Chrome 6 + ,

Android上常见度量单位【xdpi、hdpi、mdpi、ldpi】解读

僤鯓⒐⒋嵵緔 提交于 2019-11-30 08:36:45
术语和概念 屏幕尺寸 屏幕的物理尺寸,以屏幕的对角线长度作为依据(比如 2.8寸, 3.5寸)。 简而言之, Android把所有的屏幕尺寸简化为三大类:大,正常,和小。 程序可以针对这三种尺寸的屏幕提供三种不同的布局方案,然后系统会负责把你的布局方案以合适的方式渲染到对应的屏幕上,这个过程是不需要程序员用代码来干预的。 屏幕长宽比 屏幕的物理长度与物理宽度的比例。程序可以为制定长宽比的屏幕提供制定的素材,只需要用系统提供的资源分类符long和 notlong。 分辨率 屏幕上拥有的像素的总数。注意,虽然大部分情况下分辨率都被表示为“宽度×长度”,但分辨率并不意味着屏幕长宽比。在 Android系统中,程序一般并不直接处理分辨率。 密度 以屏幕分辨率为基础,沿屏幕长宽方向排列的像素。 密度较低的屏幕,在长和宽方向都只有比较少的像素,而高密度的屏幕通常则会有很多 ——甚至会非常非常多——像素排列在同一区域。屏幕的密度是非常重要的,举个例子,长宽以像素为单位定义的界面元素(比如一个按钮),在低密度的屏幕上会 显得很大,但在高密度的屏幕上则会显得很小。 密度无关的像素( DIP ) 指一个抽象意义上的像素,程序用它来定义界面元素。它作为一个与实际密度无关的单位,帮助程序员构建一个布局方案(界面元素的宽度,高度,位置)。 一个与密度无关的像素,在逻辑尺寸上,与一个位于像素密度为

android 度量单位 dp sp px DPI

限于喜欢 提交于 2019-11-30 08:36:34
术语和概念 屏幕尺寸 Screen size 即显示屏幕的实际大小,按照屏幕的对角线进行测量, (比如 2.8寸, 3.5寸)。 为简单起见,Android把所有的屏幕大小分为四种尺寸:小,普通,大,超大(分别对应:small, normal, large, extra large). 应用程序可以为这四种尺寸分别提供不同的自定义屏幕布局-平台将根据屏幕实际尺寸选择对应布局进行渲染,这种选择对于程序侧是透明的。 系统会负责把你的布局方案以合适的方式渲染到对应的屏幕上,这个过程是不需要程序员用代码来干预的。 屏幕长宽比 Aspect ratio 长宽比是屏幕的物理宽度与物理高度的比例关系。应用程序可以通过使用限定的资源来为指定的长宽比提供屏幕布局资源。 只需要用系统提供的资源分类符long和 notlong。 分辨率 Resolution 在屏幕上显示的物理像素总和。例如 320*480。需要注意的是:尽管分辨率通常用宽x高表示,但分辨率并不意味着具体的屏幕长宽比。 在Andorid系统中,应用程序不直接使用分辨率。 密度 Density 在单位屏幕面积上能显示的像素数量。 在同样的宽高区域,低密度的显示屏能显示的像素较少,而高密度的显示屏则能显示更多的像素。 屏幕密度非常重要,因为其它条件不变的情况下,一个宽高固定(这里宽高应是指的像素)的UI组件(比如一个按钮

<LearnOpenCV17>处理边缘

不羁岁月 提交于 2019-11-30 02:10:49
卷积边界问题 图像卷积的时候边界像素,不能被卷积操作,原因在于边界像素没有完全跟kernel重叠,所以当3x3滤波时候有1个像素的边缘没有被处理,5x5滤波的时候有2个像素的边缘没有被处理 处理边缘 在卷积开始之前增加边缘像素,填充的像素值为0或者RGB黑色,比如3x3在 四周各填充1个像素的边缘,这样就确保图像的边缘被处理,在卷积处理之 后再去掉这些边缘。openCV中默认的处理方法是: BORDER_DEFAULT,此外 常用的还有如下几种: BORDER_CONSTANT – 填充边缘用指定像素值 BORDER_REPLICATE – 填充边缘像素用已知的边缘像素值。 BORDER_WRAP – 用另外一边的像素来补偿填充 API说明 – 给图像添加边缘API copyMakeBorder( Mat src, // 输入图像 Mat dst, // 添加边缘图像 int top, // 边缘长度,一般上下左右都取相同值, int bottom, int left, int right, int borderType // 边缘类型 Scalar value Mat src, dst; src = imread("D:/learnopencv/opencv003/girl.jpg"); imshow("input", src); int top = (int)(0.05*src

分辨率与px的关系

僤鯓⒐⒋嵵緔 提交于 2019-11-29 18:56:40
此篇文章的目的用于打印套打的位置计算,顺便科普下知识: 1寸=2.54厘米 14寸=355.6毫米 15.6寸=39.624厘米=396.24毫米; 21寸=533.4毫米 21.7寸=551.18毫米 27寸=685.8毫米 在相同的屏幕宽高下:如:15.6英寸(396.24毫米)的笔记本电脑: 每单位 1920*xxx的分辨率 1366*xxx的分辨率 一毫米 1920/396.24=4.8个px 1366/396.24=3.4个px 高分辨率意味着大约每一毫米5像素点,像素点越多,色块越多,页面越清晰 低分辨率意味着大约每一毫米3像素点,像素点越少,色块越少,页面越模糊 在相同的像素点下:如:1366*xxx的分辨率: 每单位 ipad pro(宽度305.7mm) 笔记本(396.24mm) asd px 305.7/1366 = 0.22(毫米) 396.24/1366 = 0.29(毫米) sss 虽然屏幕尺寸大小不一样,但可以看起来一样清晰,意味着 每毫米的像素值是一样的,但是苹果比较厉害,用更少的宽度承载或者说容下了相同数量的像素 (一像素就少了0.07毫米(少了24%的宽度)) 这两个例子告诉我们,肉眼看得请不清晰,跟屏幕实际尺寸的大小没有任何关系,而是跟单位长度的像素点有决定性的关系 所以以后买电脑,需要尽量拜托宽度的误区(比如15寸就比13寸清晰)

2-1图像像素格式深度理解

房东的猫 提交于 2019-11-29 18:51:28
1.颜色的本质的光的波长 2.颜色的三个关键:亮度、色度 chroma 、饱和度 saturation YUV :packed 和planar: packed:[Y0,U0,V0],[Y1,U1,V1],[Y2,U2,V2],[Y3,U3,V3] planar:[Y0,Y1,Y2,Y3],[U0,U1,U2,U3],[V0,V1,V2,V3] YUV420,一个像素点对应1个Y,1个2*2的小方块对应1个U和1个V, YUV420,一个像素点对应1个Y,1个2*2的小方块对应2个U和2个V, 来源: https://www.cnblogs.com/muzihuan/p/11526921.html