缩放图片的一部分

2023-12-13

我想放大图片的一部分,在本例中是鼻子。

我有一个功能可以选择要放大的图片部分。

def copyAndPaste(picture):
  height = getHeight(picture)
  width = getWidth(picture)
  newPicture = makeEmptyPicture(width, height)
  for x in range(width):
    for y in range(height):
      pxl = getPixel(picture,x,y)
      if (x>48 and x<59) and (y>58 and y<71):
        newPxl =getPixel(newPicture, #?,#?)
      else:
        newPxl = getPixel(newPicture, x,y)
      color = getColor(pxl)
      setColor(newPxl,color)

  return newPicture

def d():    
  f=pickAFile()
  picture=makePicture(f)        
  newPicture = copyAndPaste(picture)        
  writePictureTo(newPicture, r"D:\FOLDER\0Pic4.jpg")
  explore (newPicture)

Copy paste nose

我还有一个放大图片的功能:

def Enlarge(picture):
  height = getHeight(picture)
  width = getWidth(picture)
  newPicture = makeEmptyPicture(width*2, height*2)
  x1=0
  for x in range(0,width):
    y1=0
    for y in range(0,height):
      pxl = getPixel(picture,x,y)
      newPxl = getPixel(newPicture, x1,y1)
      color = getColor(pxl)
      setColor(newPxl,color)

      y1=y1+2
    x1=x1+2

  return newPicture

eg.
From:

Original Pic

To:

Enlarged Pic

我尝试了很多方法,但无法弄清楚如何将两者结合起来放大图片的一部分,而保持图片的其余部分完好无损。

这就是生成的图片应该看起来的样子(尽管很荒谬),

enlarged nose

我一直在小图像上进行练习,因为程序可能需要很长时间才能执行,在现阶段使用较大的图像是不可行的,这意味着结果是粗略的,但至少会显示它是否有效。


我仍然不确定我明白你想要做什么,但我认为是这样的:你想要复制和粘贴鼻子,而不是剪切和粘贴,并且您希望粘贴的副本以与第二个示例相同的特殊方式加倍。

因此,脸部中间将有一个 10x10 的鼻子,右下角还有一个 20x20 的褪色鼻子。


首先,要复制和粘贴,您只需将像素复制到旧位置和新位置,而不是仅复制到新位置:

def copyAndPaste(picture):
  height = getHeight(picture)
  width = getWidth(picture)
  newPicture = makeEmptyPicture(width+100, height+100)
  for x in range(width):
    for y in range(height):
      pxl = getPixel(picture,x,y)
      color = getColor(pxl)
      if (x>48 and x<59) and (y>58 and y<71):
        newPxl =getPixel(newPicture, x+100,y+100)
        setColor(newPxl,color)
      newPxl = getPixel(newPicture, x,y)
      setColor(newPxl,color)

现在,要放大新粘贴的副本,只需将偏移量加倍即可。换句话说,49,59 处的第一个像素变为 149,159,但 50,60 处的像素变为 151,161,51,61 处的像素变为 153,163,依此类推。

因此,您想要的是获取距 49,59 的距离,将其加倍,加回到 49,59,然后将其移动 100,100:

      if (x>48 and x<59) and (y>58 and y<71):
        newPxl =getPixel(newPicture, (x-49)*2+49+100,(y-59)*2+59+100)
        setColor(newPxl,color)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

缩放图片的一部分 的相关文章

  • 如何避免使用 python 处理空的标准输入?

    The sys stdin readline 返回之前等待 EOF 或新行 所以如果我有控制台输入 readline 等待用户输入 相反 我想打印帮助并在没有需要处理的情况下退出并显示错误 而不是等待用户输入 原因 我正在寻找一个Pytho
  • 如何使用 Python 3 绕过 HTTP Error 403: Forbidden with urllib.request

    您好 不是每次都这样 但有时在尝试访问 LSE 代码时 我会收到每一个烦人的 HTTP 错误 403 禁止消息 任何人都知道我如何仅使用标准 python 模块来克服这个问题 遗憾的是没有漂亮的汤 import urllib request
  • 将非常大的Python列表输出保存到mysql表中

    我想将 python 生成的列表的输出保存在 mysql 数据库的表中 该表如下所示 mysql 中的 myapc8 表 https i stack imgur com 4B4Hz png这是Python代码 在此输入图像描述 https
  • 反编译Python 3.9.2的PYC文件[重复]

    这个问题在这里已经有答案了 目前 我有一个 3 9 2 版本的 python 的 PYC 文件 P S 这适用于所有 3 9 及更高版本 我正在尝试反编译 PYC 文件 但它显示错误 因为 uncompyle6 或者更确切地说 新版本 de
  • 使用 Django 将文件异步上传到 Amazon S3

    我使用此文件存储引擎在上传文件时将文件存储到 Amazon S3 http code welldev org django storages wiki Home http code welldev org django storages w
  • 如何通过 python 多处理利用所有核心

    我一直在摆弄Python的multiprocessing现在已经使用了一个多小时的功能 尝试使用并行化相当复杂的图形遍历函数multiprocessing Process and multiprocessing Manager import
  • 创建上下文后将 jar 文件添加到 pyspark

    我正在笔记本上使用 pyspark 并且不处理 SparkSession 的创建 我需要加载一个包含一些我想在处理 rdd 时使用的函数的 jar 您可以使用 jars 轻松完成此操作 但在我的特定情况下我无法做到这一点 有没有办法访问sp
  • Arcpy 模数在 Pycharm 中不显示

    如何将 Arcpy 集成到 Pycharm 中 我尝试通过导入模块但它没有显示 我确实知道该模块仅适用于 2 x python arcpy 在 PyPi Python 包索引 上不可用 因此无法通过 pip 安装 要使用 arcpy 您需要
  • 如何使用scrapy检查网站是否支持http、htts和www前缀

    我正在使用 scrapy 来检查某些网站是否工作正常 当我使用http example com https example com or http www example com 当我创建 scrapy 请求时 它工作正常 例如 在我的pa
  • Spark 和 Python 使用自定义文件格式/生成器作为 RDD 的输入

    我想问一下 Spark 中输入的可能性 我可以看到从http spark apache org docs latest programming guide html http spark apache org docs latest pro
  • 从 Flask 运行 NPM 构建

    我有一个 React 前端 我想在与我的 python 后端 API 相同的源上提供服务 我正在尝试使用 Flask 来实现此目的 但我遇到了 Flask 找不到我的静态文件的问题 我的前端构建是用生成的npm run build in s
  • 如何查找或安装适用于 Python 的主题 tkinter ttk

    过去 3 个月我一直在制作一个机器人 仅用代码就可以完美运行 现在我的下一个目标是为它制作一个 GUI 但是我发现了一些障碍 主要的一个是能够看起来不像一个 30 年前的程序 我使用的是 Windows 7 我仅使用 Python 3 3
  • Ubuntu systemd 自定义服务因 python 脚本而失败

    希望获得有关 Ubuntu 中的 systemd 守护进程服务的一些帮助 我写了一个 python 脚本来禁用 Dell XPS 上的触摸屏 这更像是一个问题 而不是一个有用的功能 该脚本可以工作 但我不想一直启动它 这就是为什么我想到编写
  • 在骨架图像中查找线 OpenCV python

    我有以下图片 我想找到一些线来进行一些计算 平均长度等 我尝试使用HoughLinesP 但它找不到线 我能怎么做 这是我的代码 sk skeleton mask rows cols sk shape imgOut np zeros row
  • 使用 Python 将连续日期分组在一起

    Given dates datetime 2014 10 11 datetime 2014 10 1 datetime 2014 10 2 datetime 2014 10 3 datetime 2014 10 5 datetime 201
  • Python bug - 或者我的愚蠢 - 扫描字符串文字时 EOL

    我看不出以下两行之间有显着差异 然而第一个解析 而后者则不解析 In 5 n Axis of Awesome In 6 n Axis of Awesome File
  • 如何在亚马逊 EC2 上调试 python 网站?

    我是网络开发新手 这可能是一个愚蠢的问题 但我找不到可以帮助我的确切答案或教程 我工作的公司的网站 用 python django 构建 托管在亚马逊 EC2 上 我想知道从哪里开始调试这个生产站点并检查存储在那里的日志和数据库 我有帐户信
  • AWS Lambda 不读取环境变量

    我正在编写一个 python 脚本来查询 Qualys API 中的漏洞元数据 我在 AWS 中将其作为 lambda 函数执行 我已经在控制台中设置了环境变量 但是当我执行函数时 出现以下错误 module initialization
  • 如何编写一个接受 int 或 float 的 C 函数?

    我想用 C 语言创建一个扩展 Python 的函数 该函数可以接受 float 或 int 类型的输入 所以基本上 我想要f 5 and f 5 5 成为可接受的输入 我认为我不能使用if PyArg ParseTuple args i v
  • IndexError - 具有匀称形状的笛卡尔 PolygonPatch

    我曾经使用 shapely 制作一个圆圈并将其绘制在之前填充的图上 这曾经工作得很好 最近 我收到索引错误 我将代码分解为最简单的操作 但它甚至无法执行最简单的循环 import descartes import shapely geome

随机推荐

  • 检测 Java 应用程序是否以 Windows 管理员身份运行

    我有一个 Java 应用程序 无论如何 我可以判断该进程是否在 Windows 7 上以管理员权限运行 我找到了一种似乎与平台无关的不同解决方案 它尝试编写系统首选项 如果失败 则该用户可能不是管理员 As 托马斯 扎托建议 您可能希望抑制
  • 使用改造上传文件时出现错误(没有此类文件或目录)

    我正在开发 Android 应用程序 我需要将带有文件的请求发布到服务器 我在用retrofit这样做 我这样做MultipartAPI 请求 然后我用Intent createChooser选择文件 当我这样做的时候问题就出现了enque
  • 使用 Storyboard 在 Mac sdk 中自定义字体

    如何在 Mac 应用程序开发中向情节提要添加自定义字体 我浏览了一些博客 并尝试添加字体书并使用故事板使用这种自定义字体开发一个 NStextfield 但这是系统相关的 我创建了 DMG 并安装在另一台计算机上 它使用默认字体 我以编程方
  • Android 列表视图填充内容的高度

    我在 xml 中定义了一个列表视图 现在我正在设置内容视图setContentView R layout topic layout 我里面有 5 个项目 目前它只填充列表视图高度的一半 但我希望它完全填充高度 这样我在底部就没有任何空间 我
  • 如何从文本文件中删除标点符号[重复]

    这个问题在这里已经有答案了 import collections import string with open cipher txt as f f f read replace replace n lower f f strip stri
  • “this”模块的源代码是做什么的?

    如果您打开 Python 解释器 然后输入 import this 如您所知 它会打印 Python 之禅 作者 Tim Peters 美丽总比丑陋好 显式的比隐式的好 简单总比复杂好 复杂总比复杂好 扁平比嵌套更好 稀疏比密集好 可读性很
  • 使用 Nexus REST API 获取给定 groupid/artifactId 的最新工件版本

    我正在尝试使用 nexus REST api 来获取最新版本的 Maven 工件 我可以使用浏览到我正在寻找的特定版本http repo local service local data index a local turbogears s
  • SQL JOIN AND OR 条件

    我有一张桌子说Cases 它使用来自的参考Workers对于三列 还有一张桌子Company工人属于哪个 下面是架构 Cases CaseID CaseNumber Worker1 Worker2 Worker3 Workers Worke
  • React 路由器在刷新后渲染组件

    这是一个奇怪的问题 但是当我尝试使用链接进行重定向时 什么也没有发生 只是 URL 发生了变化 但是当我刷新浏览器时 组件就会被渲染 我究竟做错了什么 My nav js import React from react import Nav
  • Lambda中使用的变量在计算总和时应该是最终的还是有效的最终?

    我有一张包含地图的地图 地图 gt 对于映射中的所有条目 我想计算特定键的总和 例如我的地图是这样的 Key1 Key2 Value A Z 10 10 B Z 40 10 C Y 20 10 我想基本上计算所有key2等于B的总和 所以在
  • 实际函数调用计数与 EXPECT_CALL(*mock, display()) 不匹配

    我正在打电话EXPECT CALL在模拟函数上display 但它返回运行时错误 Actual function call count doesn t match EXPECT CALL mock display output GTest
  • delphi编译器如何生成ResourceString标识符?

    我的问题是 当编译应用程序时 Delphi 编译器会生成数字标识符并将其分配给所有资源字符串 很少有文档说 当重新编 译应用程序时 会重新生成资源字符串的数字标识符 并且它们会警告依赖它 因为它可能会在之后发生变化再生 有很多第三方本地化工
  • Java 中的进程与线程

    在我读过的问题中 我们建议使用线程而不是进程 因为线程更快 我决定为我的程序使用线程来编辑维基百科中某个类别中的文章 该程序获取要编辑的文章列表 然后将文章分配给 10 个线程 通过这种方式 我每分钟可以进行 6 7 次编辑 其速度与我没有
  • 正则表达式获取长度为n的所有子串

    给定仅包含小写字母和整数的输入字符串N 我需要一个正则表达式来提取所有长度的子字符串N来自输入字符串 举个例子 let N 3 and input string baababacb 结果应该是 baa aab aba bab aba bac
  • jQuery mobile pageShow SilentScroll后,页面跳转到顶部

    我们有一个购物篮页面 其中有产品 然后是运输方式 这是一个jQuery mobile site 我想要实现的目标是 如果选择了运输方式 那么如果有页面重新加载 jQuery mobile 会跳转到div到运输方式 这是代码 滚动到运输方式
  • 使用 swift 进行场景套件内存管理

    我很困惑如何使用 swift 释放场景套件中的内存 每当我从 collada 文件创建 SCNNode 时 它 都会导入几何图形 创建物理对象 并从 jpg 文件设置材质 由于某种原因创建新对象时 这会占用 10 MB 的 RAM 即使文件
  • Visual Studio Team Services、Visual Studio 2012 项目中的 Git - 无法从构建进行部署

    可以在 Git Visual Studio 2012 Express 项目 更新 2 中良好地提交和同步 当我对构建进行排队时 团队服务 不清楚在 构建解决方案 中输入什么内容 我尝试了 sln 文件 项目文件的完整路径 典型错误 我尝试了
  • LibGdx 如何重复背景?

    几天前 我弄清楚了如何在 LibGdx 中进行滚动 现在我正在尝试做一些相关的事情 我想重复一下背景 我的滚动跟随一艘船 是一个 s ace 船游戏 背景中有一张作为纹理加载的太空照片 当船到达背景的尽头时 它会继续前进 并且不再有背景 我
  • 错误:您在需要流的地方提供了无效的对象。您可以提供 Observable、Promise、Array 或 Iterable

    我正在尝试在 cmd 行中使用 ng生成组件英雄 生成一个名为 英雄 的组件 并收到以下消息 错误 您在需要流的地方提供了无效的对象 您可以提供 Observable Promise Array 或 Iterable 您在需要流的地方提供了
  • 缩放图片的一部分

    我想放大图片的一部分 在本例中是鼻子 我有一个功能可以选择要放大的图片部分 def copyAndPaste picture height getHeight picture width getWidth picture newPictur