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

沧州网站设计wordpress图片压缩软件

沧州网站设计,wordpress图片压缩软件,合肥seo网站优化,长沙新增活动轨迹目录 使用掩码对lena图像的脸部进行打码、解码 给图像加密/解密 读取大图和logo原图 lena cv2.imread(D:\lene02.png,1) # 选择了一张分辨率更大的图片,更改图片路径 logo cv2.imread(D:\cv-log.png,1)用到的图片: 裁剪过的lena 提取大图右下角ROI h1…

目录

使用掩码对lena图像的脸部进行打码、解码

给图像加密/解密


读取大图和logo原图

lena = cv2.imread('D:\lene02.png',1)  # 选择一张分辨率图片,更改图片路径
logo = cv2.imread('D:\cv-log.png',1)

图片

裁剪lena

提取大图右下角ROI

h1, w1, c1 = lena.shape
h2, w2, c2 = logo.shape
# 定位大图右下角区域roi,使其具有logo的尺寸
roi = lena[h1-h2:h1,w1-w2:w1]# 注意:对roi的操作就是对lena原图的操作
cv2.imwrite('D:\lene02.png',roi)
plt.imshow(roi[:,:,::-1])

把logo原图转换为灰度图

图片

opencvlogo

利用cv2.cvtColor得到灰度图gray

gray = cv2.cvtColor(logo, cv2.COLOR_BGR2GRAY)
cv2.imwrite('D:\cv-log.png',gray)
plt.imshow(gray, cmap='gray')

通过二值化获取抛弃logo前景的掩码图

使用OTSU二值化方法进行二值化ret, mask1 =

ret, mask1 = cv2. threshold(gray,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)
cv2.imwrite('D:\cv-log.png',mask1)
plt.imshow(mask1, cmap='gray')

二值化也就是保留黑白

通过按位与获得只有大图背景而logo前景挖空的局部图

mask1与roi进行按位与,fg1 = cv2.bitwise_and()

fg1 = cv2.bitwise_and(roi,roi,mask=mask1)
cv2.imwrite('D:\cv-log.png',fg1)
plt.imshow(fg1[:,:,::-1])

其实也就是图片像素叠层logo前景像素覆盖掉lena图片对应像素

通过二值化获取保留logo前景的掩码图

使用BINARY_INV方法进行二值化ret, mask2 =

ret, mask2 = cv2.threshold(gray,220,255,cv2.THRESH_BINARY_INV)
cv2.imwrite('D:\cv-log.png',mask2)
plt.imshow(mask2, cmap='gray')

通过按位与获得只有logo前景而背景挖空的局部图

mask2与logo进行按位与,fg2 = cv2.bitwise_and

fg2 = cv2.bitwise_and(logo,logo,mask=mask2)
cv2.imwrite('D:\cv-log.png',fg2)
plt.imshow(fg2[:,:,::-1])

提取过后logo

通过add()函数把两个局部图相加

roi[:]=cv2.add

roi[:]=cv2.add(fg1,fg2)  #加上“:”是为了确保原图的提取
cv2.imwrite('D:\cv-log.png',roi)
plt.imshow(roi[:,:,::-1])

提取roi视图

把合成照片放回Lena照片的右下角

lena[h1-h2:h1,w1-w2:w1] = roi
plt.imshow(lena[:, :, ::-1])
plt.xticks([]), plt.yticks([])

不打印坐标这是原图视图

使用掩码对lena图像的脸部进行打码、解码

lena = cv2.imread(image_path) 
h,w, _ = lena.shape # 图片的行(高)h、列(宽)w

只显示lena脸部,其他部分打码

mask1 = np.zeros((h,w), dtype=np.uint8)  #生成一个掩膜图像(任何一个数与0与运算都是0,任何一个数与1与运算都是这个数本身)
mask1[200:400, 200:380]=255              #这个掩膜图像大小是lena.shape的大小,像素值是0或255
# # 或者用cv2.selectROI自己选取ROI区域
# TODO: lena_face = cv2.bitwise_and()
lena_face = cv2.bitwise_and(lena,lena,mask = mask1)
imgs = np.hstack([lena, lena_face])
plt.imshow(imgs[:, :, ::-1])

去掉Lena脸部

mask2 = np.ones((h,w), dtype=np.uint8)*255  
mask2[200:400, 200:380]=0 
# TODO:lena_no_face = cv2.bitwise_and()
lena_no_face = cv2.bitwise_and(lena ,lena , mask=mask2)     imgs = np.hstack([lena, lena_no_face])
plt.imshow(imgs[:, :, ::-1])

给lena脸部打彩色码

lena_no_face_color = lena.copy()
ROI =np.random.randint(0,256,
                      size=(400-200,380-200,3),
                      dtype = np.uint8)
lena_no_face_color[200:400, 200:380] = ROI
imgs = np.hstack([lena, lena_no_face_color])
plt.imshow(imgs[:, :, ::-1])

原理随机生成0-255像素(点)

ROI =np.random.randint(0,

256,

size=(400-200,380-200,3),

dtype = np.uint8)

给图像加密/解密

随机生成密钥图像,尺寸跟lena图像相同

#生成一个随机密钥图像
key = np.random.randint(0,256,
                       size=(h,w,3),
                       dtype = np.uint8)
#1、使用密钥key对lena整体加密
lena_encryption = cv2.bitwise_xor(lena,key)  # 在逻辑异或中,如果两个比特位相同,则结果为0;如果不同,则结果为1
plt.imshow(lena_encryption[:, :, ::-1])

只对lena脸部应用密钥进行解密(逻辑异或操作)

face_only = lena_encryption.copy()
# face_only[200:400, 200:380] = lena_face[200:400, 200:380]
face_only[200:400, 200:380] = cv2.bitwise_xor(face_only[200:400, 200:380],key[200:400, 200:380])
plt.imshow(face_only[:, :, ::-1])

使用密钥key对lena整体解密

lena_decryption = cv2.bitwise_xor(lena_encryption,key)
plt.imshow(lena_decryption[:, :, ::-1])

http://www.dtcms.com/wzjs/555180.html

相关文章:

  • h5页面制作网站免费注册公司需要的网站建设
  • 安徽政务服务网佛山seo优化
  • 网站搭建公司排名现在给别人做网站
  • 东莞品牌网站建设服务网站开发程序员的工资是多少
  • 上海公司网站建设公司企业年金
  • 宿迁高端网站建设燕郊 网站开发
  • 有没有专门做蛋糕的网站永久免费国外域名注册
  • 企业建网站平台wordpress特别版
  • php网站建设 关键技术做微商有卖鞋子的网站吗
  • wap网站建设案例企业网站设计专业好吗
  • 深圳公明做网站系统开发需求文档
  • 钢结构人才网seo短视频保密路线
  • 网站安全评估报告私密性最好的浏览器
  • 威海做网站优化大学生创业计划书完整版
  • 齐齐哈尔网站开发绍兴网站建设公司哪家专业
  • 平台网站模板素材广州建站模板平台
  • 网站域名价格网页推广软件哪个好
  • 找回老网站深圳o2o网站建设
  • 山东省乡镇网站建设wordpress 简洁博客
  • 网站内链结构是什么意思公司网页制作哪家强
  • 网站项目上线流程连江厦门网站建设公司
  • 网站 技术seo排名软件价格
  • 桐乡做网站的公司做营销型网站服务
  • iis建设个人网站网站开发网站排名优化
  • 网站建设现状怎么做网站推广怎么样
  • 免费自助小型网站wordpress edu 2.0
  • 网站图片一般的像素湘潭做网站 磐石网络很专业
  • 遵义网站开发wordpress 插件 简码
  • 漯河英文网站建设html网站完整代码
  • jsp做就业网站郑州七彩网站建设公司