首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

有爱的Python项目:将图片转成像素风

如果用各种色块/小图/字符拼出大的图片,构建一个像素风的世界,就像《我的世界》里一样,肯定非常有趣。 ? 像素风的图片还可以拿来做拼贴画、十字绣等装饰。有很强的实用性。 ?...星空的细节如下: ? 你们能认识这些砖块都是啥么…… 运行指南 如果想在自己电脑上运行的话,除了 Python 3 和 pip,你还需要装 OpenCV、numpy 和 tqdm。...OVERLAP_TILES:如果构成图像的 “瓦片” 可以重叠; RENDER:渲染图像; POOL_SIZE:多处理池大小; IMAGE_TO_TILE:图像到瓦片(如果作为第一个参数传递则忽略);...TILES_FOLDER:瓦片文件夹(如果作为第二个 arg 传递则忽略); OUT:结果图像文件名。...如果文章对你有帮助,欢迎转发/点赞/收藏~ ---- _往期文章推荐_ Python+OpenCV十几行代码模仿世界名画 ----

4K20

GitHub Star 日增 1.6K,火爆全网!这个项目很骚气!

这些不同的 “瓦” 都可以设定大小颜色和角度,以适应不同的画面规格。 另外,你还可以设定整个画面中由多少种颜色构成和 “瓦片” 的大小,也就是马赛克的模糊程度。...星空的细节如下: ? 你们能认识这些砖块都是啥么…… 运行指南 如果想在自己电脑上运行的话,除了 Python 3 和 pip,你还需要装 OpenCV、numpy 和 tqdm。...应用于每个图块的比例 (ex: [1, 0.75, 0.5, 0.25]); PIXEL_SHIFT:移动以创建每个框的像素数 (ex: (5,5)); if None, shift will be the...OVERLAP_TILES:如果构成图像的 “瓦片” 可以重叠; RENDER:渲染图像; POOL_SIZE:多处理池大小; IMAGE_TO_TILE:图像到瓦片(如果作为第一个参数传递则忽略);...TILES_FOLDER:瓦片文件夹(如果作为第二个 arg 传递则忽略); OUT:结果图像文件名。

76940
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    opencv(4.5.3)-python(二十四)--直方图均衡化

    翻译及二次校对:cvtutorials.com 目标 在本节中: • 我们将学习直方图均衡化的概念,并利用它来改善我们图像的对比度。 理论 考虑一个图像,其像素值只局限于某些特定的数值范围。...相反,在这里我们将看到它的Numpy实现。之后,我们将看到OpenCV函数。...但比较两张图片中的雕像的脸。由于过亮,我们失去了大部分的信息。这是因为它的直方图并不像我们在以前的案例中看到的那样被限制在一个特定的区域内(试着绘制输入图像的直方图,你会得到更多的直观感受)。...在这个过程中,图像被分成小块,称为 "瓦片"(OpenCV中瓦片大小默认为8x8)。然后这些块中的每一个都像往常一样被直方图均衡化。因此,在一个小区域内,直方图将被限制在一个小区域内(除非有噪声)。...如果任何一个直方图仓超过了指定的对比度限制(在OpenCV中默认为40),在应用直方图均衡化之前,这些像素会被剪掉并均匀地分布到其他仓。在均衡化之后,为了消除瓦片边界的伪影,将应用双线性插值。

    1.1K30

    目标检测:选择性搜索策略(C++ Python)

    导读:通过本教程,我们将彻底理解一个重要的概念:目标检测中的常用方法“Selective Search”。文末也会给出使用C++或者Python的Opencv代码。...为了对目标进行定位,我们必须选择图像的子区域(pathes),然后将目标识别算法应用于这些图像块。目标的位置是由目标识别算法返回的类概率高的图像子区域的位置给出的。 ?   ...滑动窗口算法/Sliding Window Algorithm   在滑动窗口方法中,我们在图像上滑动一个框或窗口来选择一个区域,并使用目标识别模型对窗口覆盖的每个图像块进行分类。...区域建议的算法/Region Proposal Algorithms   我们目前已经讨论过的问题可以用区域建议算法来解决。这些方法将图像作为输入和输出边界框,对应于图像中最可能成为对象的所有子区域。...选择搜索算法将这些oversegments作为初始输入并执行以下步骤: 将分段部分对应的所有边界框添加到区域建议列表中 基于相似性的群邻近段 转到步骤1   在每次迭代中,都会生成较大的段,并添加到区域建议列表中

    3.1K70

    Google Earth Engine(GEE)——TFRecord 和地球引擎

    具体来说,您可以指定kernelSize将导致大小的图块: [patchSize[0] + kernelSize[0], patchSize[1] + kernelSize[1]] 每个瓦片与相邻瓦片重叠...空间中补丁的空间排列如图 1 所示,其中 Padding Dimension 对应于内核与相邻图像重叠的部分: 如何导出图像补丁。填充维度是 kernelSize/2。...formatOptions 导出为 TFRecord 格式的图像可能有: assets 描述 类型 patchDimensions 在导出区域上平铺的尺寸,只覆盖边界框中的每个像素一次(除非补丁尺寸没有均匀划分边界框...kernelSize 如果指定,图块将被正负边距尺寸缓冲,导致相邻块之间重叠。如果指定,则必须提供两个维度(分别为 X 和 Y)。 数组[2]。...上传图像 如果您对导出的影像生成预测,请在上传预测(作为 TFRecord 文件)以获取地理配准影像时提供混合器。请注意,补丁的重叠部分(图 1 中的填充维度)将被丢弃以导致导出区域的连续覆盖。

    13700

    教程 | Adrian小哥教程:如何使用Tesseract和OpenCV执行OCR和文本识别

    本教程将介绍如何使用 OpenCV OCR。我们将使用 OpenCV、Python 和 Tesseract 执行文本检测和文本识别。...然后,我将展示如何写一个 Python 脚本,使其能够: 使用 OpenCV EAST 文本检测器执行文本检测,该模型是一个高度准确的深度学习文本检测器,可用于检测自然场景图像中的文本。...首先,我们使用 OpenCV 的 EAST 文本检测器来检测图像中的文本。EAST 文本检测器将提供文本 ROI 的边界框坐标。...它是由 OpenCV 提供的,你也可以在「Downloads」部分下载它。 text_recognition.py:我们的 OCR 脚本。我们将逐行 review 该脚本。...但是,在终端输出中,我们看到了一个注册商标 Unicode 符号,这里 Tesseract 可能被欺骗,因为 OpenCV EAST 文本检测器报告的边界框与标志牌后面的植物发生重叠。

    3.9K50

    就是这么霸道,使用OpenCV10行代码实现人脸检测

    虽然互联网上有很多关于 OpenCV 的 Haar Cascade 对象检测模块这方面的技术资料,但这篇文章的重点是通俗易懂地解释这些概念,希望这能帮助初学者以简单的方式理解 Python 的 OpenCV...本实验需要以下 Python 包: pip install numpy pip install opencv-python 让我们将 python 文件命名为“face_detector.py”,并将其放置在与从上面共享的...我们首先加载我们的 xml 分类器和输入图像文件。由于输入文件非常大,我们需要调整大小,尺寸与原始分辨率相似,以免它们出现拉伸。然后,我们将图像转换为灰度图像,因为灰度图像被认为可以提高算法的效率。...换句话说,让我们假设每次迭代都标记某些矩形(即将图像的一部分分类为人脸)。现在,如果后续的迭代也将相同的区域标记为正,则该矩形区域成为真正的可能性就会增加。...minNeighbors = 0 当 minNeighbors = 2 时,大部分重叠矩形不再存在。但是,我们仍然有一些误报。

    1K20

    HOG特征(Histogram of Gradient)学习总结

    为了对光照和阴影有更好的不变性,需要对直方图进行对比度归一化,这可以通过将元胞组成更大的块(blocks)并归一化块内的所有元胞来实现。归一化的块描述符就叫作HOG描述子。...检测窗口划分为重叠的块,对这些块计算HOG描述子,形成的特征向量放到线性SVM中进行目标/非目标的二分类。检测窗口在整个图像的所有位置和尺度上进行扫描,并对输出的金字塔进行非极大值抑制来检测目标。...将图像分成若干个“单元格cell”,例如每个cell为8 ∗ *8的像素大小。...这些区间是互有重叠的,这就意味着:每一个单元格的特征会以不同的结果多次出现在最后的特征向量中。归一化之后的块描述符(向量)就称之为HOG描述符。...检测过程就是用固定大小的窗口对多个尺度的图像进行滑窗检测,将多个尺度计算得到的矩形框都还原成原图尺寸,再进行非极大值抑制(NMS,Non-maximum Suppression)处理。

    1.1K30

    【Python】GDAL基本操作遥感大图显示

    ReadAsArray同样支持按块读取栅格信息,即读取部分区域图像信息,示例: from osgeo import gdal data = gdal.Open("xdu.tif") data_array...其中,该函数具体的参数含义如下: xoff,yoff:想要读取的部分原点位置在整张图像中距离全图原点的位置 xsize和ysize指定要读取部分图像的矩形大小 实现大图显示 有些遥感影像地图通常较大,用微软默认的图片查看器无法打开显示...方案一:拉伸变换 图像无法加载的主要原因是加载图像时,需要将图像的每个像素点信息加载进内存,如果将每个像素点所需内存体积减小,就可能能够直接进行加载查看。...方案二:瓦片显示 瓦片是一个遥感术语,是指将一定范围内的地图按照一定的尺寸和格式,切成若干行和列的正方形栅格图片。整幅图显示不了,那就切分成多个瓦片进行分块显示,再进行组装,可以有效减小资源依赖。...0-255之间,然后将处理后的数据保存进一个新的字典tiles_dict_show def stretch_extremum(self, array): """ 影像拉伸-将影像值拉伸到

    2.6K31

    10分钟学会使用YOLO及Opencv实现目标检测(上)|附源码

    闲话少叙,下面进入教程的主要内容。 在本教程中,将学习如何使用YOLO、OpenCV和Python检测图像和视频流中的对象。...主要内容有: 简要讨论YOLO算法; 使用YOLO、OpenCV、Python进行图像检测; 使用YOLO、OpenCV、Python进行视频流检测; 讨论YOLO算法的优点和缺点; 什么是YOLO...,我们将: 缩放边界框坐标,以便我们可以在原始图像上正确显示它们; 提取边界框的坐标和尺寸,YOLO返回边界框坐标形式: (centerX ,centerY ,width,height); 使用此信息导出边界框的左上角...应用非最大值抑制可以抑制明显重叠的边界框,只保留最自信的边界框,NMS还确保我们没有任何冗余或无关的边界框。...请注意,尽管区域高度模糊且部分遮挡,但仍会检测到背景中的人。 以上内容就是图像检测部分的全部内容,下一节将介绍视频流中对象检测以及YOLO算法的总结。

    12.6K64

    UNet实现文档印章消除

    此外,网络中还用到了特征融合,将前面部分下采样网络的特征与后面上采样部分的特征进行了融合以获得更准确的上下文信息,达到更好的分割效果。 ?...该策略的思想是:对图像的某一块像素点(黄框内部分)进行预测时,需要该图像块周围的像素点(蓝色框内)提供上下文信息(context),以获得更准确的预测。...另一个问题是,这样的操作会带来图像重叠问题,即第一块图像周围的部分会和第二块图像重叠。...即便如此,相较之前的滑窗输入,Unet已经快乐非常多了,其一是因为不用取那么多块,其二是因为取块时候没有那么大的重叠。...UNet 实现文档印章消除 Requirement pytorch==1.5 opencv-python 4.2 numpy 代码及运行教程 获取: 关注微信公众号 datayx 然后回复 印章

    2.1K20

    12306看了会沉默,国外大神利用机器学习15分钟破解网站验证码!

    OpenCV OpenCV是一个流行的计算机视觉和图像处理框架。我们将使用OpenCV来处理验证码图像。它有一个Python API,所以我们可以直接从Python中使用它。...我们不能将图像分割成4个等分大小的块因为验证码随机将字母放置在不同的水平位置,以防止出现这样的情况: 每个图像中的字母都是随机放置的,使图像分割变得更加困难 幸运的是,我们仍然可以实现自动化。...我们将从一个原始的验证码图像开始: 然后我们将图像转换成纯黑和白(这称为阈值化),这样就很容易找到连续区域: 接下来,我们将使用OpenCV的findContours()函数来检测图像中包含相同颜色连续的像素点的图像的不同部分...有时验证码有这样重叠的字母: 这意味着我们最终会将两个字母组合成一个区域, 如果我们不处理这个问题,我们就会产生“很脏”(dirty)的训练数据。...在这种情况下,我们可以把这两个字母放在中间,把它分成两个独立的字母: 我们将把比它们高得多的区域分割成两半,把它看成两个字母。这里有黑客行事风格的嫌疑,但是对于验证码来说,它是可行的。

    1.8K80

    手把手教你怎样用Mask R-CNN和Python做一个抢车位神器

    3.图像中对象的边界框,以X/Y像素位置表示。 4.位图图层告诉我们边界框中的哪些像素是对象的一部分,哪些不是。通过图层数据,我们还可以计算出对象的轮廓。...下面是使用Matterport’s Mask R-CNN中的预培训模型和OpenCV共同实现汽车边界框检测的Python代码: 当您运行该代码时,会看到图像上每辆被检测到的汽车周围都有一个边框,如下所示...主要问题是,我们的图像中汽车的边界框有部分重叠: 即使对于不同停车位的汽车,每辆车的边界框也有一点重叠。...因此,如果我们假设每一个边界框中的都代表一个停车位,那么即使停车位是空的,这个边界框也可能有一部分被汽车占据。我们需要一种方法来测量两个对象重叠的程度,以便检查“大部分是空的”的边框。...用两个对象重叠的像素数量除以两个对象覆盖的像素总数量,如下所示: IoU可以告诉我们汽车边界框与停车位边界框的重叠程度。有了这个指标,我们就可以很容易地确定一辆车是否在停车位。

    2K40

    恺明大神 Mask R-CNN 超实用教程

    在此教程中,你将学习如何在opencv中使用Mask R-CNN。 使用Mask R-CNN,你可以自动分割和构建图像中每个对象的像素级MASK。我们将应用Mask R-CNN到图像和视频流。...Mask R-CNN with OpenCV 在本教程的第一部分中,我们将讨论图像分类、对象检测、实例分割和语义分割之间的区别。...如果您有其他一些需求,您可能希望从源代码编译OpenCV。 请确保您已经从本博客文章的“Downloads”部分下载了源代码、训练过的Mask R-CNN以及示例图像。...在下一个代码块中,我们将加载Mask R-CNN神经网络,输入一张图像: Mask R-CNN with OpenCV---Python # load our input image and grab...它很长,所以我把它分成五个代码块,从这里开始: # loop over the number of detected objects for i in range(0, boxes.shape[2]):

    1.6K20

    恺明大神 Mask R-CNN 超实用教程

    在此教程中,你将学习如何在opencv中使用Mask R-CNN。 使用Mask R-CNN,你可以自动分割和构建图像中每个对象的像素级MASK。我们将应用Mask R-CNN到图像和视频流。...Mask R-CNN with OpenCV ---- 在本教程的第一部分中,我们将讨论图像分类、对象检测、实例分割和语义分割之间的区别。...如果您有其他一些需求,您可能希望从源代码编译OpenCV。 请确保您已经从本博客文章的“Downloads”部分下载了源代码、训练过的Mask R-CNN以及示例图像。...在下一个代码块中,我们将加载Mask R-CNN神经网络,输入一张图像: Mask R-CNN with OpenCV---Python # load our input image and grab...它很长,所以我把它分成五个代码块,从这里开始: # loop over the number of detected objects for i in range(0, boxes.shape[2]):

    1.7K30

    恺明大神 Mask R-CNN 超实用教程

    在此教程中,你将学习如何在opencv中使用Mask R-CNN。 使用Mask R-CNN,你可以自动分割和构建图像中每个对象的像素级MASK。我们将应用Mask R-CNN到图像和视频流。...Mask R-CNN with OpenCV ---- 在本教程的第一部分中,我们将讨论图像分类、对象检测、实例分割和语义分割之间的区别。...如果您有其他一些需求,您可能希望从源代码编译OpenCV。 请确保您已经从本博客文章的“Downloads”部分下载了源代码、训练过的Mask R-CNN以及示例图像。...在下一个代码块中,我们将加载Mask R-CNN神经网络,输入一张图像: Mask R-CNN with OpenCV---Python # load our input image and grab...它很长,所以我把它分成五个代码块,从这里开始: # loop over the number of detected objects for i in range(0, boxes.shape[2]):

    2.5K40

    10分钟上手,OpenCV自然场景文本检测(Python代码+实现)

    第二层是表示图像“几何”的输出要素图。我们使用它来导出输入图像中文本的边界框坐标。...通过将layerNames作为参数提供给net.forward,我们指示OpenCV返回我们感兴趣的两个特征映射: 输出几何图用于导出输入图像中文本的边界框坐标 类似地,分数图包含文本的给定区域的概率:...最后一步是将非最大值抑制应用于我们的边界框以抑制弱重叠边界框,然后显示结果文本预测: 112# apply non-maxima suppression to suppress weak, overlapping...结果仍然很好;但是,我无法将我的输出与NMSBoxes函数进行比较,看它们是否相同。 第117-126行循环遍历边界框,将坐标缩放到原始图像尺寸,并将输出绘制到orig图像。...、宽度和比率初始化将允许我们稍后适当地缩放边界框。

    1.8K20

    10分钟上手,OpenCV自然场景文本检测(Python代码+实现)

    第二层是表示图像“几何”的输出要素图。我们使用它来导出输入图像中文本的边界框坐标。...通过将layerNames作为参数提供给net.forward,我们指示OpenCV返回我们感兴趣的两个特征映射: 输出几何图用于导出输入图像中文本的边界框坐标 类似地,分数图包含文本的给定区域的概率:...最后一步是将非最大值抑制应用于我们的边界框以抑制弱重叠边界框,然后显示结果文本预测: 112# apply non-maxima suppression to suppress weak, overlapping...结果仍然很好;但是,我无法将我的输出与NMSBoxes函数进行比较,看它们是否相同。 第117-126行循环遍历边界框,将坐标缩放到原始图像尺寸,并将输出绘制到orig图像。...、宽度和比率初始化将允许我们稍后适当地缩放边界框。

    1.7K30

    GEE数据——全球固定宽带和移动(蜂窝)网络性能(网速)(2019-2024)

    为了创建一个易于管理的数据集,我们将原始数据汇总到磁贴中。 数据块的大小定义为 "缩放级别"(或 "z")的函数。 在 z=0 时,磁贴的大小是整个世界的大小。...在 z=1 时,磁贴在垂直和水平方向上被分成两半,形成覆盖全球的 4 个磁贴。 随着缩放级别的增加,这种瓦片分割会继续进行,导致瓦片随着我们放大到给定区域而呈指数级缩小。...根据这一定义,磁贴尺寸实际上是根据 Web 墨卡托投影法(EPSG:3857)计算的地球宽度/高度的一部分。 因此,瓦片尺寸会因纬度不同而略有差异,但瓦片尺寸可以米为单位进行估算。...在这些图层中,瓦片的缩放级别为 16(z=16)。 这相当于在赤道上的平铺面积约为 610.8 米 x 610.8 米(18 弧秒块)。...,我进一步将这些数据集转换为 32 位浮动栅格,这些数据集的分辨率为 610 米,avg_d_kbps、avg_u_kbps、avg_lat_ms、设备、测试等特征属性在这些图像中转换为波段。

    14310
    领券