当前位置: 首页 > news >正文

网站建设费入免费铺货诚招代理商

网站建设费入,免费铺货诚招代理商,成都大型网站建设,手机网站推荐哪个好图像是由一个个像素点组成#xff0c;像素点就是颜色点#xff0c;而颜色最简单的方式就是用RGB或RGBA表示图像保存图像将像素信息按照 一定格式#xff0c;一定顺序#xff08;即编码#xff09; 存在硬盘上的 二进制文件 中保存图像需要以下必要信息#xff1a;1. 文件…图像是由一个个像素点组成像素点就是颜色点而颜色最简单的方式就是用RGB或RGBA表示图像保存图像将像素信息按照 一定格式一定顺序即编码 存在硬盘上的 二进制文件 中保存图像需要以下必要信息1. 文件名和路径2. 文件格式3. 压缩参数(jpeg图像的压缩质量等)图像读取将而二进制文件还原为 像素排布图像编码目的压缩 有损压缩无损压缩减小数据大小有损压缩: 解压缩后的数据与压缩前的数据不一致.在压缩的过程中要丢失一些人眼和人耳所不敏感的图像或音频信息,而且丢失的信息不可恢复。无损压缩: 压缩前和解压缩后的数据完全一致。优化数据的排列等。补充【端到端指的是直接输入原始数据让模型自己去学习特征最后输出结果非端到端呢简单来说就是我们的输入数据首先经过人工处理在喂给模型去训练】常见编码PNG 无损压缩BMG 无损压缩JPEG 有损压缩PNGPNG图像格式文件或者称为数据流由一个8字节的PNG文件署名PNG file signature域和按照特定结构组织的3个以上的数据块chunk组成。PNG定义了两种类型的数据块一种是称为关键数据块critical chunk这是必需的数据块另一种叫做辅助数据块ancillary chunks这是可选的数据块。Critical Chunk关键数据块有四种类型IHDRheader chunk包含有图像基本信息作为第一个出现的数据块并且只出现一次。PLTEpalette chunk调色板数据块必须存放在图像数据块之前。IDATimage data chunk存储实际的图像数据。PNG数据包允许包含多个连续的图像数据块。IENDimage trailer chunk图像结束数据表示PNG数据流结束。其中ihdr的结构为4字节为chunk length4字节为chunk type剩下13字节的ihdr为宽(无符号整4字节) 高(无符号整4字节) bit deep位深(无符号char1字节) 颜色类型(无符号char1字节) 压缩方法/滤波方法/隔行扫描法(都是unsigned char 1字节)https://www.jb51.net/article/199586.htm# 首先读取二进制文件 f open(E:/DeepLearning/计算机视觉/cv101-master/dataset/lena.png, rb) print(f) # _io.BufferedReader nameE:/DeepLearning/计算机视觉/cv101-master/dataset/lena.png# head file_sign f.read(4) print(head, file_sign) #换行符文件结束符 sign1 f.read(4) print(换行符和文件结束符, sign1) #head b\x89PNG #换行符和文件结束符 b\r\n\x1a\nlength struct.unpack(I, f.read(4)) print(length) type f.read(4) print(type) #(218103808,) #bIHDRwidth struct.unpack(I, f.read(4)) print(宽度:, width) height struct.unpack(I, f.read(4)) print(高度:, height) # 感觉有点问题 #宽度: (131072,) #高度: (131072,) bit struct.unpack(B,f.read(1)) print(位深:, bit) color struct.unpack(B,f.read(1)) print(颜色:, color) #位深: (8,) #颜色: (2,)a struct.unpack(B,f.read(1)) b struct.unpack(B,f.read(1)) c struct.unpack(B,f.read(1)) print(a,b,c: ,a,b,c) # a,b,c: (0,) (0,) (0,)BMP-- 文件头文件类型、文件大小、位图数据的起始位置-- 位图信息头图像尺寸、位深图、压缩方式-- 调色板 存储位深小于8的像素点信息-- 位图数据存储图像中每个像素点的颜色信息位深的概念BMP格式中每个像素点的颜色信息可以使用不同的位深度表示如1位单色、4位16色、8位256色、16位、24位真彩色和32位等。其中1位表示每个像素点只有黑和白两种颜色4位表示每个像素点可以有16种颜色8位0~255表示每个像素点可以有256种颜色16位、24位和32位则表示每个像素点的颜色可以用不同的颜色通道如红、绿、蓝进行表示基本规则如下 - 文件头14b - 表示符BM2b - 文件大小 4b - 保留量 4b - 偏移量 4b - 位图头 40b - 字节头大小 4b - 宽 4b - 高 4b - 颜色通道数 2b - 位深 2b - 位图数据 - 从左到右从上到下 - 所占空间为宽乘以高乘以位数除以8 - 补齐4字节读取一张BMP图片全过程# 以bmp为例 # 首先读取二进制文件 f open(E:/DeepLearning/计算机视觉/cv101-master/dataset/lena.bmp, rb) print(f) #_io.BufferedReader nameE:/DeepLearning/计算机视觉/cv101-master/dataset/lena.bmp# 先读取头文件 # 2字节标识符 file_sign f.read(2) print(标识符, file_sign) #标识符 bBM# 4字节文件大小 file_size_byte f.read(4) # 需要解码 import struct file_size struct.unpack(i, file_size_byte) print(文件大小:, file_size) #文件大小: (786486,)# 4字节保留 f.read(4) # 4字节数据偏移量 offset struct.unpack(i, f.read(4))[0] print(偏移量:, offset) #偏移量: 54# 位图头读取 # 字节头解码 bm_header_size struct.unpack(i, f.read(4)) print(字节头大小:, bm_header_size) width struct.unpack(i, f.read(4)) print(宽度:, width) height struct.unpack(i, f.read(4)) print(高度:, height) channels struct.unpack(H, f.read(2)) print(通道:, channels) color_bit struct.unpack(H, f.read(2)) # 2字节解码低位字节在前 print(位深:, color_bit) #字节头大小: (40,) #宽度: (512,) #高度: (512,) #通道: (1,) #位深: (24,)# 读取像素 f.seek(offset) data f.read() # print(data[0], data[1], data[2]) print(总像素值数量为:, len(data)) print(像素点个数为:, len(data) // (color_bit[0] // 8)) print(长(512)*宽(512) , 512 * 512) #总像素值数量为: 786432 #像素点个数为: 262144 #长(512)*宽(512) 262144# 解码数据 # 一个像素占用的字节24位深一个像素三个数字表示rgb通道数值用三个字节表示8位深用1个字节表示(灰度图像)1位深用1个比特来存储二值图像 # 因此计算方式为int(位深/8 pixel_bit int(color_bit[0] / 8) print(一个像素占用%d字节 % pixel_bit) row_bit pixel_bit * width[0] print(一行占用%d字节 % row_bit) #一个像素占用3字节 #一行占用1536字节# 建立一个空矩阵用于存储像素 import numpy as np img np.zeros((height[0], width[0], 3), dtypenp.uint8) # 依次填充像素值 for i in range(height[0]):for j in range(width[0]):index i * height[0] * 3 j * 3img[i, j, 2] data[index]img[i, j, 1] data[index 1]img[i, j, 0] data[index 2] # 展示结果 import matplotlib.pyplot as plt plt.imshow(img, originlower) plt.show()JPEG -- joint photographic experts group -- 有损压缩格式 -- DCT和量化实现 -- 具体步骤 1. 预处理rgb-YCbCr 2. DCT变换 - 图像划分成8*8的patch - 每个patch做DCT变换 3. 量化 - 量化频域信号 - 舍弃高频信号 4. 编码 - 熵编码技术对DCT信号编码 - 保留主分量舍去噪声分量 - 常见的两种实现方式 * baseline jpeg常规方式编码顺序为从左至右从上至下 * progressive jpeg内容从模糊到清晰将图像分为多个扫描每个扫描中先编码大致轮廓然后在后续扫描中添加细节图像读取和保存的第三方库PIL安装pip install pillow读写使用from PIL import Image # 读取图像 img Image.open(E:/DeepLearning/计算机视觉/cv101-master/dataset/lena.bmp) plt.imshow(img) plt.show()# 查看图像大小 print(image shape:, img.size) # 查看图像格式 print(format:, img.format) # 查看图像通道数 print(mode:, img.mode)# 获取像素值 # 通常是将其转换为其他格式来使用像素值例如 import numpy as np img_array np.asarray(img) print(img_array[:3, :3, 0])输出image shape: (512, 512)format: BMPmode: RGB[[226 226 223] [226 226 223] [226 226 223]]保存# PIL提供了保存图像的方法即 img.save(../../dataset/pil_lena.bmp)opencv安装pip install python-opencv读取使用默认读取bgr需转化为rgbimport cv2 img cv2.imread(E:/dataset/lena.bmp)#路径中不能有中文plt.imshow(img) plt.show()#读取默认bgrimg cv2.imread(E:/notebook/lena.bmp) img cv2.cvtColor(img, cv2.COLOR_BGR2RGB)plt.imshow(img) plt.show()# 在读取图像时imread还有个隐藏参数可以直接将彩色图像转化为灰度图像 img cv2.imread(E:/notebook/lena.bmp, 0) img cv2.cvtColor(img, cv2.COLOR_GRAY2RGB)plt.imshow(img) plt.show()图片保存opencv提供函数保存图像其格式为cv2.imwrite(filename, image, [params])其中参数分别是 文件名 图像数据可选参数文件格式img cv2.imread(E:/notebook/lena.bmp) cv2.imwrite(E:/notebook/lena.png, img) cv2.imwrite(E:/notebook/lena_90.jpg, img, [cv2.IMWRITE_JPEG_QUALITY, 90])#压缩质量90kb cv2.imwrite(E:/notebook/lena_10.jpg, img, [cv2.IMWRITE_JPEG_QUALITY, 10])#压缩质量10kb质量10kb(第一张)和90kb对比两者区别cv2直接读取到图像的内容pil读取图像的区块cv2支持的图像格式更多保存图像时能够控制图像质量需要空间转换pil适合简单的图像查看应用场景opencv适合处理计算机视觉任务。assignmentPNG2JPG#方法一使用PIL库 from PIL import Image img Image.open(test.jpg) img.save(testpil.png) #方法二使用opencv库 from cv2 import imread, imwrite image imread(test.jpg, 1) imwrite(testcv.png, image)不使用第三方库怎么做def png2jpg(filename, quality_value, save_folder):# 不依赖opencv或者pil库从二进制文件直接解析png文件并保存成jpeg格式。# 其中jpeg格式的压缩参数由输入指定。# # 输入 # filename: str, png图像路径# quality_value: 压缩质量参数# save_folder: 保存的目标路径# # 图像保存文件名# # 返回值:# 返回0
http://www.tj-hxxt.cn/news/140851.html

相关文章:

  • 怎么用ps做网站ui创建个人网站
  • 坪山做网站公司杭州哪家公司网站做的好
  • 做营销网站那个好品牌营销策略包括哪些内容
  • 中卫网站推广软件wordpress如何开启ssl
  • 专业定制网站开发自己在哪里做网站
  • 路由侠怎么做网站映射网站制作公司浩森宇特
  • 本溪建网站网站建设常州青之峰
  • 破解织梦做的网站做网站都需要什么人团
  • 南阳免费网站建设关系建设的网站
  • 怎么用代码做网站wordpress目录
  • 物流网站建设评析中济建设有限公司网站
  • 网站 优化 关键字seo关键词排名优化哪家好
  • 免费企业自助建站信息发布网发布网页
  • 怎么增加网站浏览量新手怎样在手机上做电商
  • 福州做推广有哪些网站上海seo服务外包公司
  • 永州做网站网站建设需要什么资质
  • 郑州模板建站哪家好工作报告是组织进行沟通的有效渠道
  • 镇江seo网站优化做电商网站搭建就业岗位
  • 云服务器建立多个网站合肥论坛网
  • 公司网站空间申请网站建设 地址: 上海石门二路
  • 晨旭东方网站建设wordpress 9gag主题
  • 企业网站建设ppt模板泸州网站建设
  • 电脑做服务器发布网站网站怎样做漂浮
  • 浙江省建设监理协会网站网片加工机器
  • 南昌网站建设700起手机企业网站程序
  • 网站制作的预算浏阳市住房和城乡建设局的网站
  • 北京经济技术开发区建设局网站温州网站制作策划
  • 营销型网站建设明细软件开发报价明细
  • 成都私人网站制作公司西安网站建设 招聘
  • 广西柳州网站制作公司h5个网站的区别