-
2020-09-22 16:38:30更多相关内容
-
Docker - Docker Image及Image命令详解
2020-11-22 12:54:55Docker学习(二)- Docker Image及Image命令详解 什么是镜像(Image) Docker镜像(Docker Image)就是一个只读的模板。比如,一个镜像可以包含一个完整的Ubuntu操作系统环境。镜像可以用来创建Docker容器。 在...Docker - Docker Image及Image命令详解
什么是镜像(Image)
Docker镜像(Docker Image)就是一个只读的模板。比如,一个镜像可以包含一个完整的Ubuntu操作系统环境。镜像可以用来创建Docker容器。
在Docker的术语里,一个只读层被称为镜像,一个镜像是永远不会变的。
由于Docker使用一个统一文件系统,Docker进程认为整个文件系统是以读写方式挂载的。 但是所有的变更都发生在顶层的可写层,而下层的原始的只读镜像文件并未变化。由于镜像不可写,所以镜像是无状态的。
父镜像
每一个镜像都可能依赖于由一个或多个下层镜像组成的另一个镜像。我们有时说,下层那个镜像是上层镜像的父镜像。而没有任何父镜像的镜像,谓之基础镜像(Base Image)。
可以看一下这篇博客,会让你对Docker的整体架构有一个很清晰的了解:Docker - 这应该就是你想要的Docker架构分析。Docker Image Help
通过该命令可以查看Image下有哪些命令。
docker image help
[root@izoq008ryseuupz ~]# docker image help Usage: docker image COMMAND Manage images Commands: build Build an image from a Dockerfile history Show the history of an image import Import the contents from a tarball to create a filesystem image inspect Display detailed information on one or more images load Load an image from a tar archive or STDIN ls List images prune Remove unused images pull Pull an image or a repository from a registry push Push an image or a repository to a registry rm Remove one or more images save Save one or more images to a tar archive (streamed to STDOUT by default) tag Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE Run 'docker image COMMAND --help' for more information on a command.
通过
docker image COMMAND --help
来知道每一个Image命令的详细信息。Run 'docker image COMMAND --help' for more information on a command.
Docker Image LS
docker image ls --help
[root@izoq008ryseuupz ~]# docker image ls --help Usage: docker image ls [OPTIONS] [REPOSITORY[:TAG]] List images Aliases: ls, images, list Options: -a, --all Show all images (default hides intermediate images) --digests Show digests -f, --filter filter Filter output based on conditions provided --format string Pretty-print images using a Go template --no-trunc Don't truncate output -q, --quiet Only show numeric IDs
比如
docker image ls -a
,展示所有Image的关键信息。[root@izoq008ryseuupz ~]# docker image ls -a REPOSITORY TAG IMAGE ID CREATED SIZE node latest 5377c9a2fb1f 5 weeks ago 943MB openzipkin/zipkin latest 1850194f377c 3 months ago 160MB rancher/server stable 98d8bb571885 6 months ago 1.08GB redis 5.0.7 7eed8df88d3b 8 months ago 98.2MB hello-world latest bf756fb1ae65 10 months ago 13.3kB
docker images
、docker image ls
和docker image ls -a
是一样的效果。
比如
docker image ls -q
,就只输出Image的IMAGE ID 。[root@izoq008ryseuupz ~]# docker image ls -q 5377c9a2fb1f 1850194f377c 98d8bb571885 7eed8df88d3b bf756fb1ae65
其他的命令选项可以自己试一试。
Docker Image Pull
拉取镜像。
docker image pull --help
[root@izoq008ryseuupz ~]# docker image pull --help Usage: docker image pull [OPTIONS] NAME[:TAG|@DIGEST] Pull an image or a repository from a registry Options: -a, --all-tags Download all tagged images in the repository --disable-content-trust Skip image verification (default true) --platform string Set platform if server is multi-platform capable -q, --quiet Suppress verbose output
拉取
centos:7
镜像。docker image pull centos:7
[root@izoq008ryseuupz ~]# docker image pull centos:7 7: Pulling from library/centos 2d473b07cdd5: Pull complete Digest: sha256:0f4ec88e21daf75124b8a9e5ca03c37a5e937e0e108a255d890492430789b60e Status: Downloaded newer image for centos:7 docker.io/library/centos:7
拉取
centos:6
镜像,只想要输出pull
的简要信息,不输出pull
的详细信息,如Downloading
的进度。docker image pull -q centos:6
[root@izoq008ryseuupz ~]# docker image pull -q centos:6 docker.io/library/centos:6
其他的命令选项可以自己试一试。
Docker Image Prune
此命令会把所有未使用的镜像进行删除(
Remove unused images
),慎用!docker image prune --help
[root@izoq008ryseuupz ~]# docker image prune --help Usage: docker image prune [OPTIONS] Remove unused images Options: -a, --all Remove all unused images, not just dangling ones --filter filter Provide filter values (e.g. 'until=<timestamp>') -f, --force Do not prompt for confirmation
docker image prune
[root@izoq008ryseuupz ~]# docker image prune WARNING! This will remove all dangling images. Are you sure you want to continue? [y/N] y Total reclaimed space: 0B
Docker Image RM
删除指定镜像。
docker image rm --help
[root@izoq008ryseuupz ~]# docker image rm --help Usage: docker image rm [OPTIONS] IMAGE [IMAGE...] Remove one or more images Aliases: rm, rmi, remove Options: -f, --force Force removal of the image --no-prune Do not delete untagged parents
删除
centos:7
。docker image rm centos:7
[root@izoq008ryseuupz ~]# docker image rm centos:7 Untagged: centos:7 Untagged: centos@sha256:0f4ec88e21daf75124b8a9e5ca03c37a5e937e0e108a255d890492430789b60e Deleted: sha256:8652b9f0cb4c0599575e5a003f5906876e10c1ceb2ab9fe1786712dac14a50cf Deleted: sha256:174f5685490326fc0a1c0f5570b8663732189b327007e47ff13d2ca59673db02
强制删除
centos:6
。docker image rm -f centos:6
[root@izoq008ryseuupz ~]# docker image rm -f centos:6 Untagged: centos:6 Untagged: centos@sha256:dec8f471302de43f4cfcf82f56d99a5227b5ea1aa6d02fa56344986e1f4610e7 Deleted: sha256:d0957ffdf8a2ea8c8925903862b65a1b6850dbb019f88d45e927d3d5a3fa0c31 Deleted: sha256:af6bf1987c2eb07d73f33836b0d8fd825d7c785273526b077e46780e8b4b2ae9
其他的命令选项可以自己试一试。
Docker Image Tag
对原有镜像打
tag
,会生成新镜像。docker image tag --help
[root@izoq008ryseuupz ~]# docker image tag --help Usage: docker image tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG] Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
docker image tag centos:6 centos:kaven.blog
Docker Image Save
保存镜像。
docker image save --help
[root@izoq008ryseuupz ~]# docker image save --help Usage: docker image save [OPTIONS] IMAGE [IMAGE...] Save one or more images to a tar archive (streamed to STDOUT by default) Options: -o, --output string Write to a file, instead of STDOUT
docker image save centos:kaven.blog > kaven.blog.tar
[root@izoq008ryseuupz ~]# docker image save centos:kaven.blog > kaven.blog.tar #保存到当前目录 [root@izoq008ryseuupz ~]# ls kaven* kaven.blog.tar
docker image save centos:kaven.blog -o /usr/kaven.blog.tar
[root@izoq008ryseuupz ~]# docker image save centos:kaven.blog -o /usr/kaven.blog.tar #保存到别的目录 [root@izoq008ryseuupz ~]# ls /usr/kaven* /usr/kaven.blog.tar
Docker Image Load
加载镜像。
docker image load --help
[root@izoq008ryseuupz ~]# docker image load --help Usage: docker image load [OPTIONS] Load an image from a tar archive or STDIN Options: -i, --input string Read from tar archive file, instead of STDIN -q, --quiet Suppress the load output
docker image load < kaven.blog.tar
[root@izoq008ryseuupz ~]# docker image rm centos:kaven.blog Untagged: centos:kaven.blog [root@izoq008ryseuupz ~]# docker image load < kaven.blog.tar Loaded image: centos:kaven.blog
docker image load -i /usr/kaven.blog.tar
[root@izoq008ryseuupz ~]# docker image rm centos:kaven.blog Untagged: centos:kaven.blog [root@izoq008ryseuupz ~]# docker image load -i /usr/kaven.blog.tar Loaded image: centos:kaven.blog
其他的命令选项可以自己试一试。Docker Image History
显示镜像的操作历史。
docker image history --help
[root@izoq008ryseuupz ~]# docker image history --help Usage: docker image history [OPTIONS] IMAGE Show the history of an image Options: --format string Pretty-print images using a Go template -H, --human Print sizes and dates in human readable format (default true) --no-trunc Don't truncate output -q, --quiet Only show numeric IDs
docker image history centos:kaven.blog
[root@izoq008ryseuupz ~]# docker image history centos:kaven.blog IMAGE CREATED CREATED BY SIZE COMMENT d0957ffdf8a2 20 months ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0B <missing> 20 months ago /bin/sh -c #(nop) LABEL org.label-schema.sc… 0B <missing> 20 months ago /bin/sh -c #(nop) ADD file:0065316a41144e95b… 194MB <missing> 2 years ago /bin/sh -c #(nop) MAINTAINER https://github… 0B
只想展示镜像操作历史的简要信息(IMAGE)。
docker image history -q centos:6
[root@izoq008ryseuupz ~]# docker image history -q centos:6 d0957ffdf8a2 <missing> <missing> <missing>
其他的命令选项可以自己试一试。
Docker Image Inspect
显示镜像的详细信息。
docker image inspect --help
[root@izoq008ryseuupz ~]# docker image inspect --help Usage: docker image inspect [OPTIONS] IMAGE [IMAGE...] Display detailed information on one or more images Options: -f, --format string Format the output using the given Go template
docker image inspect centos:6
[root@izoq008ryseuupz ~]# docker image inspect centos:6 [ { "Id": "sha256:d0957ffdf8a2ea8c8925903862b65a1b6850dbb019f88d45e927d3d5a3fa0c31", "RepoTags": [ "centos:6", "centos:kaven.blog" ], "RepoDigests": [ "centos@sha256:dec8f471302de43f4cfcf82f56d99a5227b5ea1aa6d02fa56344986e1f4610e7" ], "Parent": "", "Comment": "", "Created": "2019-03-14T21:20:11.486358099Z", "Container": "d519f3e5c41d16388d3fba0dac626427b21deb98cce150dee80c180b9baf9435", "ContainerConfig": { "Hostname": "d519f3e5c41d", "Domainname": "", "User": "", "AttachStdin": false, "AttachStdout": false, "AttachStderr": false, "Tty": false, "OpenStdin": false, "StdinOnce": false, "Env": [ "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" ], "Cmd": [ "/bin/sh", "-c", "#(nop) ", "CMD [\"/bin/bash\"]" ], "ArgsEscaped": true, "Image": "sha256:143abcd43bce45f4fd9ba51c7361051d7ea9e9e1eadb66e5c94a9c1b7754524f", "Volumes": null, "WorkingDir": "", "Entrypoint": null, "OnBuild": null, "Labels": { "org.label-schema.build-date": "20181006", "org.label-schema.license": "GPLv2", "org.label-schema.name": "CentOS Base Image", "org.label-schema.schema-version": "1.0", "org.label-schema.vendor": "CentOS" } }, "DockerVersion": "18.06.1-ce", "Author": "https://github.com/CentOS/sig-cloud-instance-images", "Config": { "Hostname": "", "Domainname": "", "User": "", "AttachStdin": false, "AttachStdout": false, "AttachStderr": false, "Tty": false, "OpenStdin": false, "StdinOnce": false, "Env": [ "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" ], "Cmd": [ "/bin/bash" ], "ArgsEscaped": true, "Image": "sha256:143abcd43bce45f4fd9ba51c7361051d7ea9e9e1eadb66e5c94a9c1b7754524f", "Volumes": null, "WorkingDir": "", "Entrypoint": null, "OnBuild": null, "Labels": { "org.label-schema.build-date": "20181006", "org.label-schema.license": "GPLv2", "org.label-schema.name": "CentOS Base Image", "org.label-schema.schema-version": "1.0", "org.label-schema.vendor": "CentOS" } }, "Architecture": "amd64", "Os": "linux", "Size": 193901906, "VirtualSize": 193901906, "GraphDriver": { "Data": { "MergedDir": "/var/lib/docker/overlay2/ae0f8ac6c397e63561b52142c4e945909b8af2351d28e5af66f3490ff7078587/merged", "UpperDir": "/var/lib/docker/overlay2/ae0f8ac6c397e63561b52142c4e945909b8af2351d28e5af66f3490ff7078587/diff", "WorkDir": "/var/lib/docker/overlay2/ae0f8ac6c397e63561b52142c4e945909b8af2351d28e5af66f3490ff7078587/work" }, "Name": "overlay2" }, "RootFS": { "Type": "layers", "Layers": [ "sha256:af6bf1987c2eb07d73f33836b0d8fd825d7c785273526b077e46780e8b4b2ae9" ] }, "Metadata": { "LastTagTime": "2020-11-22T11:46:01.910880961+08:00" } } ]
其他的命令选项可以自己试一试。
Docker Image Import
从归档文件中创建镜像。
docker image import --help
[root@izoq008ryseuupz ~]# docker image import --help Usage: docker image import [OPTIONS] file|URL|- [REPOSITORY[:TAG]] Import the contents from a tarball to create a filesystem image Options: -c, --change list Apply Dockerfile instruction to the created image -m, --message string Set commit message for imported image --platform string Set platform if server is multi-platform capable
docker image import kaven.blog.tar centos:6.kaven
[root@izoq008ryseuupz ~]# docker image import kaven.blog.tar centos:6.kaven sha256:3a568400d73096f71c5f5165f110414bb83e8024bca2ee3eea77336a194e920f
其他的命令选项可以自己试一试。Docker Image Push
上传镜像到仓库。
docker image push --help
[root@izoq008ryseuupz ~]# docker image push --help Usage: docker image push [OPTIONS] NAME[:TAG] Push an image or a repository to a registry Options: --disable-content-trust Skip image signing (default true)
Docker Image Build
创建镜像。
docker image build --help
[root@izoq008ryseuupz ~]# docker image build --help Usage: docker image build [OPTIONS] PATH | URL | - Build an image from a Dockerfile Options: --add-host list Add a custom host-to-IP mapping (host:ip) --build-arg list Set build-time variables --cache-from strings Images to consider as cache sources --cgroup-parent string Optional parent cgroup for the container --compress Compress the build context using gzip --cpu-period int Limit the CPU CFS (Completely Fair Scheduler) period --cpu-quota int Limit the CPU CFS (Completely Fair Scheduler) quota -c, --cpu-shares int CPU shares (relative weight) --cpuset-cpus string CPUs in which to allow execution (0-3, 0,1) --cpuset-mems string MEMs in which to allow execution (0-3, 0,1) --disable-content-trust Skip image verification (default true) -f, --file string Name of the Dockerfile (Default is 'PATH/Dockerfile') --force-rm Always remove intermediate containers --iidfile string Write the image ID to the file --isolation string Container isolation technology --label list Set metadata for an image -m, --memory bytes Memory limit --memory-swap bytes Swap limit equal to memory plus swap: '-1' to enable unlimited swap --network string Set the networking mode for the RUN instructions during build (default "default") --no-cache Do not use cache when building the image -o, --output stringArray Output destination (format: type=local,dest=path) --platform string Set platform if server is multi-platform capable --progress string Set type of progress output (auto, plain, tty). Use plain to show container output (default "auto") --pull Always attempt to pull a newer version of the image -q, --quiet Suppress the build output and print image ID on success --rm Remove intermediate containers after a successful build (default true) --secret stringArray Secret file to expose to the build (only if BuildKit enabled): id=mysecret,src=/local/secret --security-opt strings Security options --shm-size bytes Size of /dev/shm --squash Squash newly built layers into a single new layer --ssh stringArray SSH agent socket or keys to expose to the build (only if BuildKit enabled) (format: default|<id>[=<socket>|<key>[,<key>]]) --stream Stream attaches to server to negotiate build context -t, --tag list Name and optionally a tag in the 'name:tag' format --target string Set the target build stage to build. --ulimit ulimit Ulimit options (default [])
这里会介绍将一个简单的C语言程序,Build成一个Image。
先在当前目录下创建一个
hello.c
程序。vim hello.c
程序如下:
#include<stdio.h> int main() { printf("hello kaven\n"); printf("this is docker\n"); }
不知道怎么退出VIM,可以看一下这篇博客:怎么保存退出 vim 编辑。
[root@izoq008ryseuupz ~]# ls hello.c kaven.blog.tar logs mall.jar [root@izoq008ryseuupz ~]# gcc hello.c -o hello [root@izoq008ryseuupz ~]# ls hello hello.c kaven.blog.tar logs mall.jar [root@izoq008ryseuupz ~]# ./hello hello kaven this is docker
在当前目录下创建
Dockerfile
。vim Dockerfile
输入:
FROM scratch ADD hello / CMD ["/hello"]
现在看不懂没关系,自己跟着体验一次,之后的博客会详细讲解这些
Dockerfile
操作。docker image build -t kaven/hello:v1 .
[root@izoq008ryseuupz ~]# docker image build -t kaven/hello:v1 . Sending build context to Docker daemon 564.4MB Step 1/3 : FROM scratch ---> Step 2/3 : ADD hello / ---> 5d49f50c725b Step 3/3 : CMD ["/hello"] ---> Running in b0b3bdce9078 Removing intermediate container b0b3bdce9078 ---> b1013ca7925d Successfully built b1013ca7925d Successfully tagged kaven/hello:v1
这样
kaven/hello:v1
就有了。
Docker Image及Image命令详解就介绍到这里。写博客是博主记录自己的学习过程,如果有错误,请指正,谢谢!
-
Android Studio中的 Image Asset Studio(图标生成工具)
2021-08-13 10:52:14Android Studio 包含一个名为 Image Asset Studio 的工具,它可以帮我们把自定义图像、系统图标素材、文本字符串自动生成适配系统的应用图标。Android 图标在线生成
Android Studio 包含一个名为 Image Asset Studio 的工具,它可以帮我们把自定义图像、系统图标素材、文本字符串自动生成适配系统的应用图标。它为你的应用程序支持的每个像素密度生成一组适当分辨率的图标。Image Asset Studio 将新生成的图标放置res/在项目目录下的特定文件夹中(例如 mipmap/ 或 drawable/)。在运行时,Android 根据运行应用的设备的屏幕密度使用适当的资源。
Image Asset Studio 可帮助您生成以下图标类型:
- 启动图标(Launcher icons)
-
Launcher Icons(Adaptive and Legacy):AS 3.0后新增,用于自适应启动图标,兼容新旧版系统;
-
Launcher Icons(Legacy only):用于非自适应的启动图标,仅限旧版系统(Android 8.0之前);
-
-
操作栏和选项卡图标(Action bar and tab icons)
-
通知图标(Notification icons)
-
TV Banners
-
TV Channel lcons
Image Asset 是什么
Image Asset Studio 可帮助您创建不同密度的各种类型的图标,并准确显示它们在项目中的放置位置。以下部分描述了您可以创建的图标类型以及您可以使用的图像和文本输入。
Launcher icons
Image Asset Studio 将启动图标放置在目录中的适当位置res/mipmap-density/。它还创建了适合 Google Play 商店的 512 x 512 像素图像。
Action bar and tab icons
Image Asset Studio 将图标放置在res/drawable-density/目录中的适当位置 。
我们建议操作栏和选项卡图标使用 Material Design 风格。作为 Image Asset Studio 的替代方案,您可以使用 Vector Asset Studio创建操作栏和选项卡图标。矢量绘图适用于简单的图标,可以减少应用程序的大小。
Vector Asset Studio使用:
Notification icons
通知是你可以在应用程序的正常 UI 之外向用户显示的消息。Image Asset Studio 将通知图标放置在目录中的适当位置 :res/drawable-density/
-
Android 2.2(API 级别 8)及更低版本的图标放置在目录中。res/drawable-density/
-
Android 2.3 到 2.3.7(API 级别 9 到 10)的图标放置在 目录中。res/drawable-density-v9/
-
Android 3(API 级别 11)及更高版本的图标放置在目录中。res/drawable-density-v11/
-
如果你的应用程序支持 Android 2.3 到 2.3.7(API 级别 9 到 10),Image Asset Studio 会生成一个灰色版本的图标。后来的 Android 版本使用 Image Asset Studio 生成的白色图标。
Clip Art
Image Asset Studio 使您可以轻松导入 VectorDrawable 和 PNG 格式的 Google Material 图标:只需从对话框中选择一个图标即可。
Images
你可以导入自己的图像并根据图标类型对其进行调整。Image Asset Studio 支持以下文件类型:PNG(首选)、JPG(可接受)和 GIF(不可用)。
Text
Image Asset Studio 允许您以各种字体键入文本字符串,并将其放置在图标上。它将基于文本的图标转换为不同密度的 PNG 文件。你可以使用计算机上安装的字体。
使用 Image Asset Studio
要启动 Image Asset Studio,请按照下列步骤操作:
-
在Project窗口中,选择 Android view。
-
右键单击res文件夹并选择 New > Image Asset。
-
Image Asset Studio 中的自适应和旧式图标向导。
继续执行以下步骤:
-
如果您的应用支持 Android 8.0及以上,请创建自适应和旧版启动器图标。
-
如果您的应用支持不高于 Android 7.1 的版本,请仅创建旧版启动器图标。
-
创建操作栏或选项卡图标。
-
创建通知图标。
创建Launcher Icons(Adaptive and Legacy)
打开Image Asset Studio,你可以通过以下步骤添加图标:
-
在Icon Type 中, 选择Launcher Icons (Adaptive and Legacy)。
- 在Foreground Layer选项卡中,选择Asset Type,然后在下方的字段中指定asset:
-
选择Image以指定图像文件的路径。
-
选择Clip Art 以从Material Design 图标集中指定一个图像 。
-
选择Text以指定文本字符串并选择字体。
文章上面有各自选择的教程
-
-
在Background Layer选项卡中,选择Asset Type,然后在下方的字段中指定Asset。你可以选择一种颜色或指定要用作背景层的image。
-
在Options选项卡中,查看默认设置并确认您要生成 Legacy、Round 和 Google Play Store 图标。
- (可选)更改每个Foreground Layer和Background Layer选项卡的名称和显示设置:
-
Name:如果不想使用默认名称,请键入新名称。如果该资源名称已存在于项目中,如向导底部的错误所示,它将被覆盖。名称只能包含小写字符、下划线和数字。
-
Trim:要调整源资产中图标图形和边框之间的边距,请选择Yes。此操作去除透明空间,同时保留纵横比。要保持源资产不变,请选择No。
-
Color:要更改Clip Art or Text图标的颜色,请单击该字段。在"选择颜色"对话框中,指定一种颜色,然后单击"选择"。新值出现在该字段中。
-
Resize:使用滑块指定比例因子以调整Image, Clip Art, or Text图标的大小。当您指定颜色资源类型时,background layer的此控件将被禁用。
-
-
单击Next。
-
或者,更改资源目录:选择要添加图像资产的资源源集:src/main/res、 src/debug/res、src/release/res或自定义源集。要定义新的源集,请选择 File > Project Structure > app > Build Types. 例如,您可以定义一个 Beta 源集并创建一个图标版本,在右下角包含文本“BETA”。有关更多信息,
-
单击Finish。Image Asset Studio 将图像添加到不同密度的 mipmap文件夹中。
创建Launcher Icons(Legacy only)
新增:
-
Scaling:要适合图标大小,请选择Crop或 Shrink to Fit。使用Crop,图像边缘可以被剪掉,而使用Shrink to Fit,则不会。如果源资产仍然不适合,您可以根据需要调整填充。
-
Shape:要在源资产后面放置背景,请选择一个形状,圆形、正方形、垂直矩形或水平矩形之一。对于透明背景,选择None。
-
Effect:如果要在正方形或矩形形状的右上角添加狗耳朵效果,请选择DogEar。否则,选择None。
创建Action bar and tab icons
创建Notification icons
其他情况基本大同小异,这里就不多做介绍,浪费大家时间了。
- 启动图标(Launcher icons)
-
Image2Lcd(无水印)
2013-02-08 21:47:55Image2Lcd(无水印),这个是一个免安装的无水印版的,大家可以好好的用了。 -
图像拼接(Image Stiching)方向论文微总结
2022-04-22 16:25:30目录期刊近几年经典方法会议近几年经典方法参考资料: 图像拼接任务对于目前主流视觉任务来说比较偏,目前基于深度学习的...Natural Image Stitching Using Depth Maps Paper:Arxiv 2022 Blog: 【论文精读】Natur
图像拼接任务对于目前主流视觉任务来说比较偏,目前基于深度学习的框架还不成熟,而且拼接任务里面很多小点都可以单独拿出来研究,比如聚焦或迁移到单应矩阵,图像对齐,图像融合,视频防抖,图像矩形化等。找到好的研究场景,既能发文又能有实用价值。现简单整理近几年的相关文章,如有遗漏还望读者指出。
期刊
近几年
-
Natural Image Stitching Using Depth Maps
-
Unsupervised Deep Image Stitching: Reconstructing Stitched Features to Images
-
Pixel-wise Deep Image Stitching
-
Learning Edge-Preserved Image Stitching from Large-Baseline Deep Homography
-
A view-free image stitching network based on global homography
-
A Novel Projective-Consistent Plane Based Image Stitching Method
-
Graph-based Hypothesis Generation for Parallax-tolerant Image Stitching
-
Single-Perspective Warps in Natural Image Stitching
-
Parallax-Tolerant Image Stitching Based on Robust Elastic Warping
- Paper:IEEE Transactions on Multimedia,2018
- Code:https://github.com/gain2217/Robust_Elastic_Warping
- Blog:【论文精读】Parallax-Tolerant Image Stitching Based on Robust Elastic Warping
经典方法
- Seam carving for content-aware image resizing
- Automatic Panoramic Image Stitching using Invariant Features
- Paper:International Journal of Computer Vision, 2007
- Keywords:开山之作
- Software:http://matthewalunbrown.com/autostitch/autostitch.html
- As-Rigid-As-Possible Shape Manipulation
会议
近几年
- Deep Rectangling for Image Stitching: A Learning Baseline
- Leveraging Line-Point Consistence To Preserve Structures for Wide Parallax Image Stitching
- Minimal Solutions for Panoramic Stitching Given Gravity Prior
- Paper:ICCV 2021
- Warping Residual Based Image Stitching for Large Parallax
- Paper:CVPR 2020
- Image Stitching and Rectification for Hand-Held Cameras
- Paper:ECCV 2020
- Project:https://www.nec-labs.com/~mas/RS-APAP
- SuperPoint: Self-Supervised Interest Point Detection and Description
- DocUNet: Document Image Unwarping via A Stacked U-Net
经典方法
- SEAGULL: Seam-Guided Local Alignment for Parallax-Tolerant Image Stitching
- Paper:ECCV 2016
- Natural Image Stitching with the Global Similarity Prior
- Adaptive as-natural-as-possible image stitching
- Parallax-Tolerant Image Stitching
- Paper:CVPR 2014
- Code:https://github.com/gain2217/Robust_Elastic_Warping
- Keywords:seam-driven stitching的改进版
- Blog:
- Shape-Preserving Half-Projective Warps for Image Stitching
- As-projective-as-possible Image Stitching with Moving DLT
- Seam-Driven Image Stitching
- Smoothly Varying Affine Stitching
- Constructing image panoramas using dual-homography warping
参考资料:
-
-
1.PE文件之DOS头(IMAGE_DOS_HEADER)
2021-10-24 16:15:55IMAGE_DOS_HEADER结构是面对于16位程序的.现在大部分程序都是32或者64位的. 32或者64位的程序已经不使用IMAGE_DOS_HEADER结构里面的成员了,但是有两个成员还需使用. IMAGE_DOS_HEADER 结构及成员含义如下: //... -
scikit-image 中用于图像分割的阈值算法
2021-09-02 22:16:30scikit-image 是用于图像处理的算法包,由 scikit-image 操作的图像需要先转换为 NumPy 数组,图像阈值技术是许多计算机视觉应用中的关键步骤。在本文中,我们将利用 scikit-image 实现阈值技术。 -
24张图攻克border-image
2021-08-13 14:52:07前有background-image 为背景增光增彩,后有mask-image 给背景增加可玩性,今天我们来聊聊border-image,看看他是如何发光发热的!Go!Go!Go! border-image 首先这个属性是下面个属性的缩写, border -
Matlab中image函数用法
2021-01-10 12:07:10image从数组显示图像 语法 说明 示例 显示矩阵数据的图像 控制图像位置 显示三维真彩色数组的图像 创建后修改图像 读取并显示 JPEG 图像文件 向三维视图中的坐标区添加图像 输入参数 名称-值对组参数 ... -
Jetpack Compose - Image
2020-12-02 21:10:51Jetpack Compose - Image1、属性一览2、使用示例3、未解决问题 注意:当前是alpha07版本的Compose,Image控件是在foundation包中的。material包中没有。 1、属性一览 首先直接看下官网给的方法,链接在这里: @... -
Python图像库PIL的类Image及其方法介绍
2018-11-06 23:00:43Python图像库PIL(Python Image Library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库了。其官方主页为:PIL。 PIL历史悠久,原来是只支持python2.x的... -
UGUI源码分析:Image与RawImage的区别
2020-05-02 16:37:32系列 UGUI源码分析系列总览 相关前置: UGUI EventSystem源码分析 Graphic源码分析 UGUI MaskableGraphic源码分析,RectMask2D与Mask的原理 ...RawImage BaseClass: MaskableGraphic Interface: None Intro: 顾... -
SinGAN: Learning a Generative Model from a Single Natural Image
2020-12-27 17:41:21We introduce SinGAN, an unconditional generative model that can be learned from a single natural image. Our model is trained to capture the internal distribution of patches within the image, and is ... -
canvas2image-master
2013-05-14 09:27:12# Canvas2image # a tool of saving or converting canvas to images ## Demo ## [canvas2image](http://hongru.github.com/proj/canvas2image/index.html) ## Code ## you can just use it like this Canvas2... -
python基础(python Image Library)
2021-04-26 17:10:27PIL基础介绍python Image Library也就是PIL库,是python用于图像处理的库,其中包含了常见基础的图像处理算法。PIL官网介绍PIL中有很多类,核心类型是Image,其中打开图片的函数就在Image中。from PIL import Image... -
Flutter Image 参数详解
2018-11-15 22:23:541.继承关系 Object > Diagnosticablet &... Image 2.介绍 一个显示图片的widget,支持图像格式:JPEG,PNG,GIF,动画GIF,WebP,动画WebP,BMP和WBMP 3.创建Image 一共有五种方法: ... -
图像处理——Image和cv2
2021-03-28 11:31:28image = Image.open('test.jpg') # 路径不可带汉字,图像数据BGR cv2image = cv2.imread('test.jpg') # 路径可带汉字,图像数据BGR # cv2.IMREAD_COLOR:默认参数,读入彩色图像,忽略alpha通道 # cv2.IMREAD_... -
python的Image模块
2018-07-10 13:59:45Image 模块Image 模块提供了同名的类用来表示PIL的图像。Image模块还提供了许多工厂(factory)函数,包块从文件加载图像的函数,以及创建新图像的函数。 例子 下面的脚本加载了一个图像,并把它旋转了45度,然后... -
Learning Continuous Image Representation with Local Implicit Image Function
2022-02-10 22:14:37简介 数据处理 以div2k数据集为例,结合本文项目代码(liif)梳理一下训练数据预处理流程: div2k数据集的高分辨率训练集由800张2K图像组成,每张图像尺寸不一,如2040∗1848,2040∗14042040*1848,2040*14042040... -
pdf2image报错,pdf2image完整安装
2022-04-22 14:57:11可在官网中查看安装步骤 Python pdf2image包_程序模块 - PyPI - Python中文网 -
Image.Save 方法
2020-08-24 10:54:24Namespace:System.Drawing ...使用指定的编码器和图像编码器参数,将该 Image 保存到指定的文件。 Save(Stream, ImageCodecInfo, EncoderParameters) 使用指定的编码器和图像编码器参数,将该图像保存到指定的流。 -
小程序组件之——cover-image与image
2020-07-05 16:51:19cover-image与image 没错我们就是从头开始往下撸。有啥就讲啥。外带一些扩展。 聊正题因为是第一个组件,不对,应该说是第一组组件,因为image和cover-image是两个组件,不过因为太像啦,所以就拿出来一起讲。因为是... -
Pillow的使用-Image篇
2018-02-08 11:02:45Image.open(fp, mode =’r’ ):打开图片文件,返回一个Image对象 fp:图片路径 mode:模式。如果给出,必须是r from PIL import Image im = Image.open(path) Image.alpha_composite(im1, im2):在im1对象..... -
ImageJ图像处理批量操作
2021-11-10 21:05:56ImageJ有哪些功能? 可以展示、分析、处理、保存以及打印(输出)8-bit、16-bit、32-bit的图像。 可以根据定义的选择计算区域以及像素值的统计。 可以进行几何转化,比如缩放比例、旋转、翻转(flips)。 具备... -
pyecharts源码解读(18)HTML组件包components之图像组件Image
2021-06-15 00:59:24│ │ image.py # 定义图像组件类Image │ │ table.py # 定义表格组件类Table │ │ __init__.py # 重构命名空间,将组件类命名空间提升至components包命名空间 目前HTML组件类Table 和Image 与复合 -
ImageJ的高级使用方法
2020-12-31 07:08:26今天我们继续来聊一聊ImageJ的高阶使用技巧。问题三、为什么总是全部圈起来的灰度值,有没有大神指导呢求助!本问题涉及免疫印迹(Western Blot)分析,提问者不能分别得到每个条带的值。灰度值0为纯黑,255为纯白,... -
Flutter Widgets: Image
2018-05-26 21:04:50Image显示区域的宽度和高度设置,这里需要把Image和图片两个东西区分开,图片本身有大小,Image Widget本身也是有大小的,Image Widget是图片的容器。宽度和高度的配置经常和下面的fit属性配合使用。 @ ... -
docker 删除image 报:image has dependent child images 错误
2020-12-10 21:55:12问题 在 Docker 中删除 image 时有时会遇到类似 ...这样的错误,原因是有另外的 image FROM 了这个 image,可以使用下面的命令列出所有在指定 image 之后创建的 image 的父 image docker ima.. -
IMAGE J灰度分析
2020-12-22 19:16:00IMAGEJ灰度分析DNA灰度分析方法11.首先打开软件后,开启图档;2.请先做校正,选择Analyze底下的Calibrate选项,再选择校正的模式,使用UncalibrateOD,再按ok;3.在要分析的第一条(firstlane)加上一个长型框(工具列... -
Python如何安装Image库呢?
2021-02-09 03:15:49今天编写一个图片缩小工具,出现以下错误提示信息import ImageModuleNotFoundError: No module named 'Image'通过分析发现是当前Python下未安装Image库,那么Python中如何安装Image库呢?下文将一一道来,如下所示:...