精华内容
下载资源
问答
  • 一张小图片和一张大图片合成一张图片,![图片说明](https://img-ask.csdn.net/upload/201710/18/1508307157_804685.jpg)
  • 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实现将一张图片放到另一张图片指定的位置上并合成一张图 # -*- coding: utf-8 -*- # by:Apsinc # time:2019年12月10日 #Python实现将一张图片放到另一张图片指定的位置上并合成一张图 from PIL import ...

    Python实现将一张图片放到另一张图片指定的位置上并合成一张图

    # -*- coding: utf-8 -*-
    # by:Apsinc 
    # time:2019年12月10日
    #Python实现将一张图片放到另一张图片指定的位置上并合成一张图
    from PIL import Image
    
    path = "C:/Users/Administrator/Desktop/QRCode/background.jpg"#母图详细文件名以及路径
    img = Image.open(path)
    # img = qr.make_image(fill_color="#555555", back_color="Red")
    img = img.convert("RGBA")  # CMYK/RGBA 转换颜色格式(CMYK用于打印机的色彩,RGBA用于显示器的色彩)
    # 添加子图
    icon = Image.open("C:/Users/Administrator/Desktop/QRCode/zitu.png")#子图文件名
    # 获取图片的宽高
    img_w, img_h = img.size#获取被放图片的大小(母图)
    icon_w,icon_h=icon.size#获取小图的大小(子图)
    factor = 6
    size_w = int(img_w / factor)
    size_h = int(img_h / factor)
    icon_w, icon_h = icon.size
    #防止子图尺寸大于母图
    if icon_w > size_w:
        icon_w = size_w
    if icon_h > size_h:
        icon_h = size_h
    # # 重新设置子图的尺寸
    # icon = icon.resize((icon_w, icon_h), Image.ANTIALIAS)
    w = int((img_w - icon_w) / 2)
    h = int((img_h - icon_h) / 2)
    # 粘贴图片
    img.paste(icon, (w, h), mask=None)
    # 保存图片
    img.save("C:/Users/Administrator/Desktop/QRCode/c.png")#合成后的图片路径以及文件名
    

    为了方便下次调用最好封装成为模块

    from PIL import Image
    
    def Picture_Synthesis(mother_img,
                          son_img,
                          save_img,
                          coordinate=None):
        """
        :param mother_img: 母图
        :param son_img: 子图
        :param save_img: 保存图片名
        :param coordinate: 子图在母图的坐标
        :return:
        """
        #将图片赋值,方便后面的代码调用
        M_Img = Image.open(mother_img)
        S_Img = Image.open(son_img)
        factor = 1#子图缩小的倍数1代表不变,2就代表原来的一半
    
        #给图片指定色彩显示格式
        M_Img = M_Img.convert("RGBA")  # CMYK/RGBA 转换颜色格式(CMYK用于打印机的色彩,RGBA用于显示器的色彩)
    
        # 获取图片的尺寸
        M_Img_w, M_Img_h = M_Img.size  # 获取被放图片的大小(母图)
        print("母图尺寸:",M_Img.size)
        S_Img_w, S_Img_h = S_Img.size  # 获取小图的大小(子图)
        print("子图尺寸:",S_Img.size)
    
        size_w = int(S_Img_w / factor)
        size_h = int(S_Img_h / factor)
    
        # 防止子图尺寸大于母图
        if S_Img_w > size_w:
            S_Img_w = size_w
        if S_Img_h > size_h:
            S_Img_h = size_h
    
        # # 重新设置子图的尺寸
        # icon = S_Img.resize((S_Img_w, S_Img_h), Image.ANTIALIAS)
        icon = S_Img.resize((S_Img_w, S_Img_h), Image.ANTIALIAS)
        w = int((M_Img_w - S_Img_w) / 2)
        h = int((M_Img_h - S_Img_h) / 2)
    
        try:
            if coordinate==None or coordinate=="":
                coordinate=(w, h)
                # 粘贴子图到母图的指定坐标(当前居中)
                M_Img.paste(icon, coordinate, mask=None)
            else:
                print("已经指定坐标")
                # 粘贴子图到母图的指定坐标(当前居中)
                M_Img.paste(icon, coordinate, mask=None)
        except:
            print("坐标指定出错 ")
        # 保存图片
        M_Img.save(save_img)
    
    

    调用方法

    Picture_Synthesis(mother_img="C:/Users/Administrator/Desktop/QRCode/b.jpg",
                      son_img="C:/Users/Administrator/Desktop/QRCode/y.png",
                      save_img="C:/Users/Administrator/Desktop/QRCode/newimg.png",
                      coordinate=None#如果为None表示直接将子图在母图中居中也可以直接赋值坐标
                      # coordinate=(50,50)
                     )
    

    母图
    母图
    子图
    子图
    最终效果最终效果
    好的,这就不必过多的介绍代码了,全在注释中,有问题欢迎留言!有错误也欢迎您慷慨指正!

    展开全文
  • 如何把一张图片放到网页上或者如何在浏览器查看一张图片 首先新建一个文件夹,命名为Index(自由命名) 然后在Index文件夹里面放进一张图片 再然后在Index文件夹里面新建一个文本文档,暂时不用命名 接着打开...

    如何把一张图片放到网页上或者如何在浏览器查看一张图片

    • 首先新建一个文件夹,命名为Index(自由命名)
    • 然后在Index文件夹里面放进一张图片
    • 再然后在Index文件夹里面新建一个文本文档,暂时不用命名
    • 接着打开文本文档,在里面输入:<img src=“001.jpg” />
    • 001.jpg是图片的命名,根据实际情况进行修改即可
    • 然后保存文本文档,然后把文本文档的:新建文档.txt 重命名为 tupian.html
    • 双击打开即可在这里插入图片描述
    展开全文
  • 场景:可能会遇到这样的需求,让我们查看一天每个小时的变化情况,并在一张图片中体现出来,那这就需要利用图片的切割和合成技术。 首先,我们需要把每天的每个小时图片,切割成一张图片,再把24个小时拼接成一个...

    1.准备

    场景:可能会遇到这样的需求,让我们查看一天每个小时的变化情况,并在一张图片中体现出来,那这就需要利用图片的切割和合成技术。

    首先,我们需要把每天的每个小时图片,切割成一张图片,再把24个小时拼接成一个完整的图片

    原图:

     切割图:

    切割图片,请看https://blog.csdn.net/qq_16855077/article/details/90378173

     

    代码的这两个地方改为12    1.jpg      13     2.jpg    14   3.jpg,生成的图片如下图 

     

    合成图:

     2.代码

    package com.qihui.qxj.utils;
    
    import java.awt.image.BufferedImage;
    import java.io.File;
    
    import javax.imageio.ImageIO;
    
    /**
     * 图片拼接 把多张宽度一样的图片拼接成一张大图片
     * 
     * @author Administrator
     *
     */
    public class CreateBigImage {
    
    	public static void main(String[] args) {
    		// 获取宽度相同的图片
    		String img1 = "D:/a/1.jpg";
    		String img2 = "D:/a/2.jpg";
    		String img3 = "D:/a/3.jpg";
    		String[] imgs = new String[] { img1, img2, img3 };
    		
    		//Image.mergeImage(imgs, 1, "D:/big.jpg");
    		// //图片拼接
    		merge(imgs, "jpg", "D:/big.jpg");
    
    	}
    
    	/**
    	 * Java拼接多张图片
    	 * 
    	 * @param pics:图片源文件
    	 *            (必须要宽度一样),如: String img1 = "D:/imgs/3.jpg"; String img2 =
    	 *            "D:/imgs/3.jpg"; String img3 = "D:/imgs/big.jpg"; String[]
    	 *            pics = new String[]{img1,img2,img3};
    	 * @param type
    	 *            :图片输出类型(jpg,png,jpeg...)
    	 * @param dst_pic
    	 *            :图片输出绝对路径,如 String dst_pic="D:/imgs/big2.jpg";
    	 * @return
    	 */
    	public static boolean merge(String[] pics, String type, String dst_pic) {
    
    		int len = pics.length; // 图片文件个数
    		if (len < 1) {
    			System.out.println("pics len < 1");
    			return false;
    		}
    		File[] src = new File[len];
    		BufferedImage[] images = new BufferedImage[len];
    		int[][] ImageArrays = new int[len][];
    		for (int i = 0; i < len; i++) {
    			try {
    				src[i] = new File(pics[i]);
    				images[i] = ImageIO.read(src[i]);
    			} catch (Exception e) {
    				e.printStackTrace();
    				return false;
    			}
    			int width = images[i].getWidth();
    			int height = images[i].getHeight();
    			ImageArrays[i] = new int[width * height];// 从图片中读取RGB
    			ImageArrays[i] = images[i].getRGB(0, 0, width, height, ImageArrays[i], 0, width);
    		}
    
    		int dst_width = 0;
    		int dst_height = 0;
    		for (int i = 0; i < images.length; i++) {
    			dst_width += images[i].getWidth();
    			dst_height = dst_height > images[i].getHeight() ? dst_height : images[i].getHeight();
    		}
    		System.out.println(dst_width);
    		System.out.println(dst_height);
    
    		// 生成新图片
    		try {
    			BufferedImage ImageNew = new BufferedImage(dst_width, dst_height, BufferedImage.TYPE_INT_RGB);
    			int width_i = 0;
    			for (int i = 0; i < images.length; i++) {
    				ImageNew.setRGB(width_i, 0, images[i].getWidth(), dst_height, ImageArrays[i], 0, images[i].getWidth());
    				width_i += images[i].getWidth();
    			}
    		
    			File outFile = new File(dst_pic);
    			ImageIO.write(ImageNew, type, outFile);// 写图片
    		} catch (Exception e) {
    			e.printStackTrace();
    			return false;
    		}
    		return true;
    	}
    
    }

    到这里,图片的合成就完成勒。

    如果你热衷技术,喜欢交流,欢迎加入我们! 

    展开全文
  • python opencv 将一张图片无缝合成到另一张图片

    万次阅读 热门讨论 2018-12-21 14:08:57
    因为一开始我没看到图源,就自己修了下图,结果产生下面的错误,错误原因我分析的是飞机图片的大小超出了背景图片的范围 1 : Traceback (most recent call last): File "C:\Users\Administrator\Desktop\test3....
  • Unity-两张图片叠加合成一张图片

    千次阅读 2019-11-28 14:30:07
    在做图片分享时,往往需要对图片加上水印或其他标签图片,这个时候就要考虑如何对多张图片进行叠加合成为一张图片。 其实一张图片就是一组单色像素组成的像素矩阵 要对两张图片进行叠加,只需要将背景图片中对应的...
  • JDK类库创建一张简单图片

    千次阅读 2019-03-07 15:07:27
    JDK类库创建一张简单图片 工具代码 /** * 绘制图片 * @param bufferedImage 缓冲图片 * @param type 图片类型 * @param file 文件 * @throws IOException */ public static boolean ...
  • html+JS生成二维码并与另外一张图片合并,形成一张带二维码新图片 跪求html+JS代码!!!!!!! 一个输入框输入网址,用以输入字符生成二维码 一个本地图片img 点击生成二维码后本地图片在右下角合成...
  • <!DOCTYPE html> <title></title> /*div1下面 包含着1个图片和1段文字*/ #div1{ position:
  • canvas实现5张图片合成一张图片

    万次阅读 2018-08-20 10:46:39
    具体要实现的效果类似下面这张图片,主题流程大概是,页面上有类似这样布局的结构,点击中间那个紫色的按钮就会生成一张这样的图片,并且能够让用户下载图片的 1、首先我们布局页面的时候用的都是图片来布局成这...
  • 将两张(多张图片)合成一张图片

    千次阅读 2017-09-07 10:10:59
    你在开发过程中,有时候会遇到需要将两张图,或者几张图合成一张图,例如在图片分享过程中 下面代码可以为你解忧 -(UIImage *)addImage:(UIImage *)image1 toImage:(UIImage *)image2 {  ...
  • iOS中如何显示一张图片

    千次阅读 2015-07-25 13:20:20
    在界面上显示一张图片是最简单的需求,像我这样的小白来说,也要从这最简单的开始学起。这篇博客就来简单实现一下这个功能。 (1)新建一个项目,然后在Main.storyboard中拖入一个ImageView控件。如图所示: 。 ...
  • 一般实现点击效果我们都是使用drawable下的selector来实现,这样UI会给我们两张图,一张normal的,一张press的,我们实现起来很简单。但这样增加了我们编译出来的Apk体积,一张图可以实现的效果,用两张图。UI在做按...
  • html+JS生成二维码并与另外一张图片合并,形成一张带二维码新图片 跪求html+JS代码!!!!!!! 一个输入框输入网址,用以输入字符生成二维码 一个本地图片img 点击生成二维码后本地图片在右下角合成带二维码图片...
  • *param qrcodePath : 最后图片保存路劲 */ public static void overlapImage(String qrcodePath) { try { BufferedImage big = new BufferedImage(1080, 1920, BufferedImage.TYPE_INT_RGB); ...
  • 这里实现的效果,鼠标移动到橘黄色的图片上时,另一张白色的图片缓慢显示,橘黄色的图片缓慢消失;移出该白色的图片上时,橘黄色的图片缓慢显示,该白色的图片缓慢消失; 即:最开始是图片 鼠标放上去时显示: 移开...
  • C#图片一张一张

    千次阅读 2016-04-09 09:16:57
    namespace 照片 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } //获得文件夹中所有图片文件的全路径 string[] path = Directory.Get
  • 一张属于程序员的图片

    千次阅读 多人点赞 2014-03-29 09:18:20
    前几天在微博上,看到一张图片,看看大家能找出几个 四个卡通动物,我知道三个: 左边起第一个:拿三叉戟的BSD,linux的一个分支 第二个 : linux企鹅,这个大家肯定都知道 第三个: 鲨鱼 groovy ,一种基于...
  • 图片一张与下一张切换

    千次阅读 2015-09-11 16:17:45
    <!DOCTYPE html> 图片幻灯片切换 <img src="images/001.jpg" id="imgid"><br/> 上一张" id="p
  • #include <iostream> //#include <fstream> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp>...openc...
  • 怎样在一张图片上叠加另一张图片

    万次阅读 2016-09-18 16:12:50
    写两层div, 外面一层取相对路径,里面一层取绝对路径 div style="position:relative;"> //相对路径 img src="img/4.png" onclick="showEarth(2014)" style="width:50px;height:10px;...效果图:
  • python将多幅图片显示在一张图片

    万次阅读 多人点赞 2018-06-15 16:29:16
    现在碰到的问题是如何将多幅图片显示在一张图片上。经过资料查找,找到两种解决方案。 第一种:利用 np.hstack、np.vstack实现一幅图像中显示多幅图片。代码为: # -*- coding: utf-8 -*- # 利用 n...
  • 两张(多张)图片合成一张图片

    千次阅读 2016-02-23 21:12:48
    下面向通过颜色创建了一张空白图片,然后将目标图片居中在上一个图片中,这里可以通过同样的方法绘制多张图片到一张图片上去- (UIImage *) drawRectForImage:(UIImage *) image { UIImage* rectImage = [UIImage ...
  • css: ...  .login {background: url(正常显示的图片.jpg)} .login:hover{background: url(鼠标移动上显示的图片.jpg)} ...
  • //背景图片 你自己本地的图片或者在线图片 console.log(div,img); myImage.crossOrigin = 'Anonymous'; myImage.onload = function(){ context.drawImage(myImage , 0 , 0 , 700 , 1300); context.font = "60...
  • unity3d将一张图片切成多张图片

    万次阅读 2016-01-05 18:11:50
    unity3d将一张图片切成多张图片
  • /*  1.trayImgView为要展示到的imageView(底部托盘)  2.bigImg张为矩形全灰色(使用图片本身的尺寸) ... 3.littleImg张为正方行带字... 功能:两张图片拼接为一张图片成为背景图片。bigImg随意拉伸,littl

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 421,575
精华内容 168,630
关键字:

一张一张连贯的图片