iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python opencv应用实现图片切分操作示例
  • 731
分享到

Python opencv应用实现图片切分操作示例

2024-04-02 19:04:59 731人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录说明操作说明代码切换效果说明 之前下载来zip包的漫画,里面的图片都是两张一起的: 但是某些漫画查看软件不支持自动分屏,看起来会比较不舒服,所以只能自己动手来切分。 操作说明

说明

之前下载来zip包的漫画,里面的图片都是两张一起的:

但是某些漫画查看软件不支持自动分屏,看起来会比较不舒服,所以只能自己动手来切分。

操作说明

python有不少的库支持图片操作,其中比较著名的一个是OpenCV

OpenCV是一个跨平台的计算机视觉库,Python下有它的接口实现。

Python默认不带OpenCV,所以需要先用pip下载:

OpenCV功能强大,这里用来做图片的切分其实是牛刀小试。

关于OpenCV的功能,这里不多介绍,有兴趣的可以找其它的资料。

为了在代码中使用OpenCV,首先需要import相关的库:

import cv2 # Should be install independently.

然后是读取图片:

img1 = cv2.imread(filename)

然后做切割:

    # shape[0]:height shape[1]:width shape[2]:channel
    # img[y0:y1, x0:x1] 0=(left up) 1=(right low)
    slice1 = img[0:height, width/2:width]

这里实际上就是指定图片框体,需要的两个值是左上角和右下角坐标,只是对应的方式有些诡异,不知道为什么要这样对应。

然后是回写图片:

    cv2.imwrite(getname(index1), slice1, [int(cv2.IMWRITE_PNG_COMPRESSioN), 1])

此外,为了保证图片不会太大,还可以做些压缩:

    img = cv2.resize(img1, (0, 0), fx=compressratio, fy=compressratio, interpolation=cv2.INTER_NEAREST)

以上就是涉及到图片的基本代码。

代码

下面是全部的代码,将它保存到py文件中,然后与图片放到同一个目录,双击py文件就可以执行,并进行图片切分:

#!/usr/bin/env python
# ---------------------------------------------------------------------------------
# coding=utf-8
# @File    : sliceImage.py
# @Author  : Jiangwei
# @Date    : 2020/4/18
# @Desc    : Slice images.
# @History :
#     Date       Author      Description
#   20200418    Jiangwei     Created.
# @Warning:
#   Tested in Python 2.7.
# ---------------------------------------------------------------------------------
import os
import sys
import cv2  # Should be install independently.
todir = "tmp"
exts  = ['.jpg', '.JPG', '.png', '.PNG']
compressratio = 0.75
def listimage(adir):
    '''
    adir    : The directory name.
    '''
    list = []
    for i in os.listdir(adir):
        if os.path.splitext(i)[1] in exts:
            list.append(os.path.join(adir, i))
    return list
def getname(index):
    page = "Image%03D.png" % index
    return os.getcwd() + "\\" + todir + "\\" + page
def doslice(filename, index1, index2):
    img1 = cv2.imread(filename)
    img = cv2.resize(img1, (0, 0), fx=compressratio, fy=compressratio, interpolation=cv2.INTER_NEAREST)
    height,width = img.shape[0:2]
    # shape[0]:height shape[1]:width shape[2]:channel
    # img[y0:y1, x0:x1] 0=(left up) 1=(right low)
    slice1 = img[0:height, width/2:width]
    cv2.imwrite(getname(index1), slice1, [int(cv2.IMWRITE_PNG_COMPRESSION), 1])
    print getname(index1)
    slice2 = img[0:height, 0:width/2]
    cv2.imwrite(getname(index2), slice2, [int(cv2.IMWRITE_PNG_COMPRESSION), 1])
    print getname(index2)
    return
if __name__ == "__main__":
    '''
    Slice images.
    '''
    # Temperature directory for sliceped images.
    if not os.path.exists(todir):
        os.mkdir(todir)
    # Transverse all files and do the slice.
    imagelist = listimage (os.getcwd())
    index = 1
    for i in imagelist:
        print "Processing %s" % i
        doslice(i, index, index + 1)
        index += 2

切分之后的文件会放到新创建的tmp目录下。

切换效果

下面是切换之后的效果:

代码写得不怎么样,不过能够用......

以上就是Python opencv应用实现图片切分操作示例的详细内容,更多关于Python opencv图片切分的资料请关注编程网其它相关文章!

--结束END--

本文标题: Python opencv应用实现图片切分操作示例

本文链接: https://www.lsjlt.com/news/118583.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python opencv应用实现图片切分操作示例
    目录说明操作说明代码切换效果说明 之前下载来zip包的漫画,里面的图片都是两张一起的: 但是某些漫画查看软件不支持自动分屏,看起来会比较不舒服,所以只能自己动手来切分。 操作说明 ...
    99+
    2024-04-02
  • python切割图片的实现示例
    用opencv处理一下pillow也可以,但是试过有时候会把图片自动旋转180°,cv没有这个问题 import os from cv2 import cv2 def s...
    99+
    2024-04-02
  • Python Opencv实现图片切割处理
    本文实例为大家分享了Python Opencv实现图片的切割处理,供大家参考,具体内容如下 Opencv对图片的切割: 方法一: import os from PIL import ...
    99+
    2024-04-02
  • Python+OpenCV实现图像基本操作的示例详解
    目录1. 计算机眼中的图像2. 图像的表示3. 基础操作 图像的读取4. 截取部分图像数据(ROI)5. 视频的读取6. 边界填充7. 图像的加法 图像的加法1. 计算机眼中的图像 ...
    99+
    2023-05-16
    Python OpenCV图像基本操作 Python OpenCV图像操作 Python OpenCV图像 Python OpenCV
  • OpenCV图像算法实现图像切分图像合并示例
    目录将一张图片切分成多个小图片并将小图片合并为原图图像切分图像合并验证友情提示将一张图片切分成多个小图片并将小图片合并为原图 最近用到一个功能,需要将一张原图切分成多个小图像,然后对...
    99+
    2024-04-02
  • Python中opencv操作的示例分析
    这篇文章主要介绍Python中opencv操作的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!直接读取图片def display_img(file="p.jpeg"): ...
    99+
    2023-06-14
  • python opencv图像处理基本操作的示例分析
    本篇文章给大家分享的是有关python opencv图像处理基本操作的示例分析,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。①读取图像②显示图像该函数中,name是显示窗口的名...
    99+
    2023-06-25
  • Opencv实现倾斜图片转正示例
    今天是我们来玩一个钉子。通过一个钉子来学习一个opencv中的一个函数,这个函数我网上也有搜过,不过遗憾的是,各路好手都是写的是有点不堪入目,现在这个学习氛围是越来越差了,很多人都直...
    99+
    2024-04-02
  • python切片操作方法的实例总结
    目录前言一、切片的2种索引方向二、切片的操作方式三、一些基本操作1、切取单个对象2、切取整个列表3、步长step正负值 决定索引方向的一些案例四、进阶操作1.修改某个元素值2.替换元...
    99+
    2024-04-02
  • python opencv图像处理基本操作示例详解
    目录1.图像基本操作①读取图像②显示图像③视频读取④图像截取⑤颜色通道提取及还原⑥边界填充⑦数值计算⑧图像融合2.阈值与平滑处理①设定阈值并对图像处理②图像平滑-均值滤波③图像平滑-...
    99+
    2024-04-02
  • Python实现.gif图片拆分为.png图片的简单示例
    Python实现.gif图片拆分为.png图片 实现效果展示: 未转化前的gif图片 经转化后: ----------------------------------------...
    99+
    2023-01-28
    怎么把gif图变成png python gif转换jpg python生成png图片
  • OpenCV+Qt实现图像处理操作工具的示例代码
    目录一、目标二、使用Qt界面三、图像处理操作完整代码一、目标 Qt界面实现 雪花屏 高斯模糊 中值滤波 毛玻璃 灰度化 XY方向模糊 双边模糊 腐蚀 [图像处理操作] 要求左边原图,...
    99+
    2022-11-13
    OpenCV Qt图像处理 OpenCV 图像处理 Qt 图像处理
  • Python OpenCV 图像平移的实现示例
    每次学习新东西的时候,橡皮擦都是去海量检索,然后找到适合自己理解的部分。 再将其拼凑成一个小的系统,争取对该内容有初步理解。 今天这 1 个小时,核心要学习的是图像的平移,在电脑上随...
    99+
    2024-04-02
  • python实现图片九宫格分割的示例
    目录简介实现原理源码运行结果简介 大家都知道在微信朋友圈或者微博以及QQ动态中,有很多“强迫症患者”发图片都爱发9张,而有些图是一张图片分成的九宫图,对于这种操作,大家知道是怎么做...
    99+
    2024-04-02
  • Python实现Gif图片分解的示例代码
    目录1、模块安装2、模块导入3、分解动图4、批量分解5、生成效果在前面做过一个Gif图片合成的小工具,老朋友应该有所印象。但是,近段时间有人反映合成了的Gif图片该如何进行分解呢? ...
    99+
    2024-04-02
  • C++ opencv图像处理实现图片边缘检测示例
    目录边缘检测简介一、边缘检测步骤二、Canny1.函数2.代码二、Sobel1.函数2.代码三、Scharr1.函数2.代码四、Laplacian1.函数2.代码总结边缘检测简介 边...
    99+
    2024-04-02
  • opencv图片的任意角度旋转实现示例
    目录一 旋转角度坐标的计算二 旋转任意角度的步骤三 实现一 旋转角度坐标的计算 1.如果O点为圆心,则点P绕点O旋转redian弧度之后,点P的坐标变换为点Q的计算公式为: Q.x=...
    99+
    2024-04-02
  • Python OpenCV实现图像增强操作详解
    目录创作背景图像亮度增强和降低旋转水平镜像和垂直镜像高斯噪声其它图像增强的方法创作背景 最近在忙着两个YOLOv7项目,通过看大量的论文,发现很多的相关的论文都会在收集图像后进行图像...
    99+
    2024-04-02
  • OpenCV-Python实现图像平滑处理操作
    目录什么是图像平滑处理均值滤波方框滤波高斯滤波中值滤波双边滤波2D卷积什么是图像平滑处理 在尽量保留图像原有信息的情况下,过滤掉图像内部的噪声,这一过程我们称之为图像的平滑处理,所得...
    99+
    2024-04-02
  • C++opencv图像处理实现图片几何变换示例
    目录简介一、图像平移1.图像平移代码 (不改变图像大小)2.图像平移代码 (改变图像大小)二、图像旋转1.图像旋转函数2.仿射变换函数3.代码三、图像缩放1.图像缩放函数2.图像缩小...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作