精华内容
下载资源
问答
  • python opencv一张图片嵌入(叠加)到另一张图片上 1、背景: 最近做了个烟火生成系统的界面设计,需要将烟雾图片嵌入到任意一张图片中,因此需要python opencv一张图片嵌入(叠加)到另一张图片上的知识。(图...

    python opencv把一张图片嵌入(叠加)到另一张图片上

    1、背景:

    最近做了个烟火生成系统的界面设计,需要将烟雾图片嵌入到任意一张图片中,因此需要python opencv把一张图片嵌入(叠加)到另一张图片上的知识。(图中红框最终生成图片没有的,只是界面有这个功能)

    2、代码

    resized1[global_y0:height+global_y0, global_x0:weight+global_x0] = resized0
    

    resized0是小图
    resized1是大图,其他参数是左上点和右下点

    3、效果图

    在这里插入图片描述

    工程中部分代码

    这个是截取我pyqt5中部分代码,具体实现,可以借鉴一下

     		resized1 = cv.imread('temp0.jpg')#读取最开始读入的图片
            #cv.imshow('resized1-0.jpg', resized1)
            #cv.waitKey(10)
            img = cv.imread('output.jpg')#读取生成的烟雾图
    
            resized0 = cv.resize(img, (weight, height), interpolation=cv.INTER_AREA)
            #cv.imshow('resized0.jpg', resized0)
            #cv.waitKey(10)
    
            #嵌入图片,resized1是原图,resized0是烟雾图片,中括号内为嵌入的坐标
            resized1[global_y0:height+global_y0, global_x0:weight+global_x0] = resized0
            #cv.imshow('resized1.jpg', resized1)
            cv.imwrite('temp1.jpg', resized1)
            resized2 = resized1  # 将最终生成的图片复制到全局变量中,在保存按钮中进行保存
            #cv.imwrite('resized2.jpg', resized2)
            global final_picture # 此处声明该图片为全局变量
            final_picture=resized2 #将最终生成的图片复制到全局变量中,在保存按钮中进行保存
            #cv.imwrite('final_picture0.jpg', final_picture)
            #cv.waitKey(10)
            height, width, bytesPerComponent = resized1.shape #取彩色图片的长、宽、通道
            bytesPerLine = 3 * width
            cv.cvtColor(resized1, cv.COLOR_BGR2RGB, resized1)
            QImg = QImage(resized1.data, width, height, bytesPerLine,QImage.Format_RGB888)
            pixmap = QPixmap.fromImage(QImg)
    
            self.label_ShowPicture.setPixmap(pixmap)
            #self.label_ShowPicture.setPixmap(QPixmap("resized1.jpg"))
            self.label_ShowPicture.setCursor(Qt.CrossCursor)
            print("已经嵌入")
    
    展开全文
  • python opencv一张图片嵌入(叠加)到另一张图片上 1、背景: 最近做了个烟火生成系统的界面设计,需要将烟雾图片嵌入到任意一张图片中,因此需要python opencv一张图片嵌入(叠加)到另一张图片上的知识。(图...
  • 最近项目里有一个需求:kedit里的html内容和事先设定好的背景颜色转为图片嵌入一张事先准备好的图片里先看下效果  图1  图2   ...

    最近项目里有一个需求:把kedit里的html内容和事先设定好的背景颜色转为图片,嵌入到一张事先准备好的图片里先看下效果

                                                    图1

                                                       图2     

                                                                           

                           图3     (合成后背景颜色设为蓝色)                         

                

       上面这个需求要分为两步来完成:

       1、把html转为图片

       2、在图片2上画图片1

       先说步骤1:

        网上有个开源的jar包html2image-0.9.jar   (http://download.csdn.net/detail/jishuisanqianli/9633608)

        能将html转为图片,底层使用java swing中提供的JEditorPane类

       打开html2image-0.9.jar包的HtmlImageGenerator类里可以看到几个关键的方法我想你应该就理解的差不多了:

         protected JEditorPane createJEditorPane() {
            JEditorPane editorPane = new JEditorPane();
            editorPane.setSize(getDefaultSize());
            editorPane.setEditable(false);
            SynchronousHTMLEditorKit kit = new SynchronousHTMLEditorKit();
            editorPane.setEditorKitForContentType("text/html", kit);
            editorPane.setContentType("text/html");
            editorPane.addPropertyChangeListener(new PropertyChangeListener() {
                public void propertyChange(PropertyChangeEvent evt) {
                    if (evt.getPropertyName().equals("page"))
                        HtmlImageGenerator.this.onDocumentLoad();
                }
            });
            return editorPane;
         }
      
          public void loadUrl(String url) {
            try {
                this.editorPane.setPage(url);
            } catch (IOException e) {
                throw new RuntimeException(String.format(
                        "Exception while loading %s", new Object[] { url }), e);
            }
        }
    
        public BufferedImage getBufferedImage() {
            //注意这个原来的jar包里没有,加了这句话避免生成的图片存在内边距
            editorPane.setMargin(new Insets(0, 0, 0, 0));
            
            Dimension prefSize = this.editorPane.getPreferredSize();
            BufferedImage img = new BufferedImage(prefSize.width,
                    this.editorPane.getPreferredSize().height, 2);
            Graphics2D graphics = img.createGraphics();
            this.editorPane.setSize(prefSize);
            this.editorPane.paint(graphics);
            return img;
        }
    
        public void saveAsImage(File file) {
            BufferedImage img = getBufferedImage();
            try {
                String formatName = FormatNameUtil
                        .formatForFilename(file.getName());
                ImageIO.write(img, formatName, file);
            } catch (IOException e) {
                throw new RuntimeException(
                        String.format("Exception while saving '%s' image",
                                new Object[] { file }), e);
            }
        }
    

    详细代码 

    https://gitee.com/lzhcode/maven-parent/blob/master/lzh-technology/src/main/java/com/lzhsite/technology/util/HtmlImageGenerator.java

    说完了原理现在上步骤1的实现代码:

    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
                    
    String html =  Content.htmlTemplate.replace("backgroundcolor",carDesignModel1.getCarcorlor());
                html=html.replace("baseurl",basePath);
                html=html.replace("content",carDesignModel1.getContent());
    
    //把html转为图片,得到图1 imageKedit
    HtmlImageGenerator imageGenerator = new HtmlImageGenerator();imageGenerator.loadHtml(html);
    BufferedImage imageKedit =  imageGenerator.getBufferedImage();
    
    
    //根据url读取图片,得到图2 imageOrigin   
     URL u = new 
        URL(Property.getProperty("FILESERVER_PATH")+"id="+carDesignModel1.getPicid());
    BufferedImage imageOrigin = ImageIO.read(u);
    


         下面说步骤2:

          通过Graphics里的drawImage重新绘图并且生成新的图片   

    //合成新的图片
    Graphics g=imageOrigin.getGraphics();
    //四个参数分别是:图1横坐标,图1纵坐标,图1上绘制的图2的长,图1上绘制的图2的宽
    g.drawImage(imageKedit,imageOrigin.getWidth()-imageKedit.getWidth(),imageOrigin.getHeight()-imageKedit.getHeight(),imageKedit.getWidth(),imageKedit.getHeight(),null);
            
    OutputStream outImage=new FileOutputStream("D:\\test2.png");
                        
    //合成的图片必须为png否则会导致颜色有所偏差
    ImageIO.write(imageOrigin, "png", outImage);
    outImage.close();
                        
    

     

    对图片操作的一些代码:

    https://gitee.com/lzhcode/maven-parent/blob/master/lzh-technology/src/main/java/com/lzhsite/technology/util/HttpPostUploadUtil1.java

    https://gitee.com/lzhcode/maven-parent/blob/master/lzh-technology/src/main/java/com/lzhsite/technology/util/HttpPostUploadUtil2.java

                                                                                                                                               

    展开全文
  • 视频是:利用近邻法的弱点实现图片缩小后变成另一张图 这个核心文件利用了近邻法规模的弱点,可以将图a的依次按顺序嵌入到图b中,然后生成图c。图c看起来和图b是基本一样的。不过,在PS软件或者python的PIL模块中...
  • 如何把图片置入特定选区

    千次阅读 2016-05-14 00:49:07
    最近由于上线个人应用,使用photoshop处理图片在其中显得非常重要,下面就简单的介绍下如何一种图片置入另一张图片的特定选区吧! 首先打开被置入的图片,然后用魔棒工具: 选定要被置入的区域: 然后点击文件...

    最近由于上线个人应用,使用photoshop处理图片在其中显得非常重要,下面就简单的介绍下如何把一种图片置入另一张图片的特定选区吧!

    首先打开被置入的图片,然后用魔棒工具:


    选定要被置入的区域:


    然后点击文件--置入嵌入的智能对象,调整后合并可见图层就行了。    我用的是PS CC   别的版本可能有微小的差别,然后就置入了我们的图片:


    由于置入照片和置入区域几乎一样,所以我就没有调整大小了,可以根据实际情况调整。该种方法非常简单,而且置入效果非常好。



    展开全文
  • Word整合两张图片

    2021-03-16 23:31:16
    Word整合两张图片 一张图片(底片)设置为嵌入型,另一张设置为“文字环绕”中的“浮于文字上方”,然后就可以第二张图片覆盖到第一章(底片)上了。

    Word整合两张图片

    一张图片(底片)设置为嵌入型,另一张设置为“文字环绕”中的“浮于文字上方”,然后就可以把第二张图片覆盖到第一章(底片)上了。

    展开全文
  • PHP实现图片水印功能

    2016-02-23 13:54:00
    一、什么是水印 所谓数字水印是向数据多媒体(如图像、声音、视频信号等)中添加某些数字信息以达到文件真伪鉴别、版权保护等功能。...图片水印:一张图片嵌入另一张图片中 五、水印制作五步走 ...
  • 内容嵌入一个文件的内容(文本)或者base64编码(图片)嵌入一个文件中 依赖声明:在一个文本文件内标记对其他资源的依赖关系 声明依赖 FIS3 在执行编译的过程中,会扫描这些编译标记,从而建立一张 静态资源...
  • 4.5 鼠标放到图片上会显示另外一张图片 4.6 鼠标形状定义大全 4.7 鼠标移入移出时颜色变化 4.8 跟随鼠标的文字 4.9 跟随鼠标的彩色文字 4.10 跟随鼠标的魔法文字 4.11 跟随鼠标的星星 4.12 跟随鼠标的旋转背景 4.13 ...
  • 4.5 鼠标放到图片上会显示另外一张图片 4.6 鼠标形状定义大全 4.7 鼠标移入移出时颜色变化 4.8 跟随鼠标的文字 4.9 跟随鼠标的彩色文字 4.10 跟随鼠标的魔法文字 4.11 跟随鼠标的星星 4.12 跟随鼠标的旋转背景 4.13 ...
  • 小编的确一直都想这方面的命令做个总结,这次辛苦老范给我们整理了这份实用的秘笈。  Bootcfg  bootcfg 命令启动配置和故障恢复(对于大多数计算机,即 boot.ini 文件)。  含有下列参数的 bootcfg 命令仅在...
  • 深入学习shell脚本艺术

    热门讨论 2011-02-22 04:01:01
    利用修改文件名,来转换图片格式 9-12. 模仿getopt命令 9-13. 提取字符串的一种可选的方法 9-14. 使用参数替换和error messages 9-15. 参数替换和"usage"messages 9-16. 变量长度 9-17. 参数替换中的模式匹配 9-18. ...
  • 当前目录下的文件拷贝到一个文件中 12-7. 通过名字Kill 进程 12-8. 使用xargs 分析单词出现的频率 12-9. 使用 expr 12-10. 使用 date 命令 12-11. 分析单词出现的频率 12-12. 那个文件是脚本? 12-13. 产生10 ...
  • Linux高级bash编程

    2009-07-28 10:26:07
    当前目录下的文件拷贝到一个文件中 12-7. 通过名字Kill进程 12-8. 使用xargs分析单词出现的频率 12-9. 使用 expr 12-10. 使用 date 命令 12-11. 分析单词出现的频率 12-12. 那个文件是脚本? 12-13. 产生10进制...
  • 高级Shell脚本编程

    2013-10-28 10:08:19
    当前目录下的文件拷贝到一个文件中 12-7. 通过名字kill进程 12-8. 使用xargs分析单词出现的频率 12-9. 使用expr 12-10. 使用date命令 12-11. 分析单词出现的频率 12-12. 哪个文件是脚本? 12-13. 产生10-...
  • Egret 的 童话 与 现实

    2021-01-03 14:33:25
    一方面是考虑到Flash AS3这个开发群体,不争取的话,慢慢都流失掉了,很可惜。</li><li>Egret里我带的这帮人以前是做Flash Pro,Flash Builder,Flex GUI和众多工具及框架的技术&#...
  • 新版Android开发教程.rar

    千次下载 热门讨论 2010-12-14 15:49:11
    ----------------------------------- Android 编程基础 1 封面----------------------------------- Android 编程基础 2 开放手机联盟 --Open --Open --Open --Open Handset Handset Handset Handset Alliance ...

空空如也

空空如也

1 2
收藏数 24
精华内容 9
关键字:

把图片嵌入另一张图片