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

深圳品牌策划抖音搜索seo排名优化

深圳品牌策划,抖音搜索seo排名优化,邓州微网站开发,邮箱登陆嵌入网站1 基本概念 位平面分解的核心思想是将图像的每一个像素分解为多个二进制位,分别存储在不同的位平面上。例如,如果一个图像是8位深度的,则可以分解为8个位平面,每个位平面上存储一个二进制位。 位平面分解在图像压缩中有着重要的…

1 基本概念

位平面分解的核心思想是将图像的每一个像素分解为多个二进制位,分别存储在不同的位平面上。例如,如果一个图像是8位深度的,则可以分解为8个位平面,每个位平面上存储一个二进制位。

位平面分解在图像压缩中有着重要的应用,因为它可以有效减少图像的存储大小。例如,如果一个图像的最高位平面(即最高二进制位)存储的是图像的主要信息,那么将其单独存储可以大大减小图像的大小。

此外,位平面分解技术的应用非常广泛,除了压缩技术以外,在数字水印、和特征提取等方面都有重要的应用。通过对每个位平面进行单独处理,可以更加精细地处理图像信息,提高图像处理的效率和精度。

1.1 位平面分解流程:

  1. 读入灰度图像并将其转换为二进制形式,即将每个像素点的灰度值表示成8位二进制数。
  2. 对于每个像素点的二进制数,将它们按位拆分为8个二进制数,每个数表示一个位平面。
  3. 对于每个位平面,将其转换为0或255的二值图像。具体方法是将每个像素点的该位的二进制数值提取出来,然后将该值赋为0或255。这样就可以得到8个二值图像,每个图像表示了原图像中某一位上的信息。
  4. 保存每个位平面的二值图像,以便后续使用。

1.2 位平面分解算法原理

假设原图像为 I(x,y)I(x,y)I(x,y),灰度级为 g(x,y)g(x,y)g(x,y),每个像素点的灰度值可以表示成一个8位的二进制数,即 g(x,y)=b727+b626+b525+b424+b323+b222+b121+b0g(x,y) = b_7 2^7 + b_6 2^6 + b_5 2^5 + b_4 2^4 + b_3 2^3 + b_2 2^2 + b_1 2^1 + b_0g(x,y)=b727+b626+b525+b424+b323+b222+b121+b0,其中 b7b_7b7b0b_0b0 分别表示第7位到第0位的二进制值,取值为0或1。

对于第 iii 个位平面,可以通过如下公式将其转换为0或255的二值图像 Pi(x,y)P_i(x,y)Pi(x,y)

Pi(x,y)={255if bi=10if bi=0P_i(x,y) = \begin{cases} 255 & \text{if } b_i = 1 \\ 0 & \text{if } b_i = 0 \end{cases}Pi(x,y)={2550if bi=1if bi=0
这里 bib_ibi 表示 g(x,y)g(x,y)g(x,y) 的第 iii 位二进制值。

因此,可以将原图像 I(x,y)I(x,y)I(x,y) 的每个像素点的二进制值拆分成8个位平面,得到8个二值图像 P0(x,y),P1(x,y),⋯,P7(x,y)P_0(x,y), P_1(x,y), \cdots, P_7(x,y)P0(x,y),P1(x,y),,P7(x,y),它们表示了原图像中的信息在每个二进制位上的分布情况。

举个例子,当我们的原始数据像素数据为:
image.png
则首先将其格式转为二进制:
image.png
之后将二进制的各位分别取出,就形成了分解后的位平面:
image.png

2 位平面分解的Python实现

  1. 使用OpenCV的imread函数读入一幅灰度图像,灰度值范围为0~255,并用imshow函数显示原图像。
import cv2  
import numpy as np  # 读入灰度图像并显示  
lena = cv2.imread("lenacolor.png", 0)  
cv2.imshow("lena", lena)
  1. 获取图像的尺寸,即行数和列数。
# 获取图像的尺寸  
r, c = lena.shape
  1. 构造表示二进制位的图像,即构造8个大小与原图像大小相同的图像,每个图像上的像素值表示二进制数值的某一位。即(1,2,4,...,128)(1,2,4,...,128)124...128如换算成二进制则为(00000001,00000010,00000100,...,10000000)(0000 0001,0000 0010,0000 0100,...,1000 0000)000000010000001000000100...10000000
# 构造表示二进制位的图像  
x = np.zeros((r, c, 8), dtype=np.uint8)  
for i in range(8):  x[:, :, i] = 2 ** i  
print(x)

image.png
其中x=np.zeros((r, c,8), dtype=np.uint8)语句设置一个用于提取各个位平面的提取矩阵。该矩阵是“r×c×8”大小的,其中r是行高,c是列宽,8表示共有8个通道。矩阵x的8个通道分别用来提取灰度图像的8个位平面。例如,x[:, :,0]用来提取灰度图像的第0个位平面。

  1. 构造表示每个位平面的图像,即将原图像的每个像素的二进制数值按位拆分,并将对应位平面上的像素值赋为该二进制位的数值,其余像素值为0。并执行二进制维度上的AND关系。使用OpenCV的位运算 AND 可以直接执行上述操作。与运算的讲解点此查看
# 构造表示每个位平面的图像,并显示  
r = np.zeros((r, c, 8), dtype=np.uint8)  
for i in range(8):  # 使用位运算 AND 获取当前位平面的二值图像  r[:, :, i] = cv2.bitwise_and(lena, x[:, :, i])
  1. 将当前位平面的非零像素值赋为255,将该位平面的二值图像转换为0/255的形式。这是因为位平面分解后的图像应为二值图像,而Python在展示是默认为8位像素。因此我们要将二值的0或1转化为8位的0或255。
for i in range(8):  # 使用位运算 AND 获取当前位平面的二值图像  r[:, :, i] = cv2.bitwise_and(lena, x[:, :, i])  print(r)  # 将非零像素值赋为255,将当前位平面的二值图像转换为0/255的形式  mask = r[:, :, i] > 0  r[mask] = 255
  1. 最后,使用imshow函数显示当前位平面的二值图像。完整的函数如下:
import cv2  
import numpy as np  # 读入灰度图像并显示  
lena = cv2.imread("lenacolor.png", 0)  
#cv2.imshow("lena", lena)  # 获取图像的尺寸  
r, c = lena.shape  # 构造表示二进制位的图像  
x = np.zeros((r, c, 8), dtype=np.uint8)  
for i in range(8):  x[:, :, i] = 2 ** i  
print(x)  # 构造表示每个位平面的图像,并显示  
r = np.zeros((r, c, 8), dtype=np.uint8)  
for i in range(8):  # 使用位运算 AND 获取当前位平面的二值图像  r[:, :, i] = cv2.bitwise_and(lena, x[:, :, i])  print(r)  # 将非零像素值赋为255,将当前位平面的二值图像转换为0/255的形式  mask = r[:, :, i] > 0  r[mask] = 255  # 显示当前位平面的二值图像  cv2.imshow(str(i), r[:, :, i])  # 等待用户按下任意键,然后关闭所有窗口  
cv2.waitKey()  
cv2.destroyAllWindows()

最终,图象被分解成了8张二值图像。并且位数越高的二值图像,越能体现出原始图像的特征。
image.png

http://www.hkea.cn/news/215570/

相关文章:

  • 做网站用什么代码编写可口可乐软文营销案例
  • 宜昌网站建设哪家好厦门百度广告开户
  • 网站做二级域名外链
  • 网站建设服务费属于哪个大类电商seo搜索优化
  • 12380网站建设情况的报告网络seo首页
  • 个人如何在百度上做广告网站seo什么意思
  • java做网站编程合肥seo快排扣费
  • 做律师网站公司google play下载
  • 网站怎么做详情页北京网站制作建设公司
  • 广告网站模板下载不了东莞排名优化团队
  • 网站建设人员培训纲要河北seo网络推广
  • jsp网站开发实例视频教程各大网站的网址
  • 手机网站设计要素推广竞价
  • 久久医药网seo推广培训费用
  • 网站做301顶级域名需要绑定网站排名掉了怎么恢复
  • wordpress app 源码合肥seo整站优化网站
  • 建立网站基本步骤安仁网络推广
  • 网页建设方案怎么写网站seo优化心得
  • 还没有做网站可以先备案域名吗seo怎么提升关键词的排名
  • 做网站原型图软件优化设计七年级下册语文答案
  • 2023年舆情分析报告seo优化宣传
  • 武汉网站建设 熊掌号最佳磁力引擎吧
  • 教育平台网站开发品牌运营
  • 91人才网赣州招聘网安卓优化大师app下载安装
  • 合肥网页模板建站营业推广策划
  • 网站做301根目录在哪教育培训机构平台
  • 企业做网站域名需要自己申请吗深圳百度推广客服电话多少
  • 备案网站容易被收录公司网站建设费用多少
  • 4s店网站建设方案百度app下载最新版
  • 创建电子商务网站的7个步骤做网站推广需要多少钱