欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python?imgaug庫安裝與使用教程(圖片加模糊光雨雪霧等特效)

 更新時間:2022年11月12日 15:04:59   作者:國服最強貂蟬  
imgaug機器學(xué)習(xí)實驗中的圖像增強庫,特別是卷積神經(jīng)網(wǎng)絡(luò),支持以多種不同方式增強圖像、關(guān)鍵點/地標(biāo)、邊界框、熱圖和分割圖,這篇文章主要介紹了Python?imgaug庫?安裝與使用教程(圖片加模糊光雨雪霧等特效),需要的朋友可以參考下

簡介

imgaug:機器學(xué)習(xí)實驗中的圖像增強庫,特別是卷積神經(jīng)網(wǎng)絡(luò)。支持以多種不同方式增強圖像、關(guān)鍵點/地標(biāo)、邊界框、熱圖和分割圖。

安裝

在anaconda prompt里進行

 pip install imgaug

看了幾篇文章,出錯的話可以先安裝依賴庫shapely

Overview

特效

官網(wǎng)網(wǎng)址

在這里插入圖片描述

Project 結(jié)構(gòu)

在這里插入圖片描述

程序

圖片放入input

在這里插入圖片描述

參考的源代碼(來源于網(wǎng)絡(luò))

main.py

# ###################源代碼####################
# !usr/bin/python
# -*- coding: utf-8 -*-
import cv2
from imgaug import augmenters as iaa
import os

# Sometimes(0.5, ...) 所有情況的 50% 中應(yīng)用給定的增強器
# e.g. Sometimes(0.5, GaussianBlur(0.3)) would blur roughly every second image.
sometimes = lambda aug: iaa.Sometimes(0.5, aug)

# 定義一組變換方法.
seq = iaa.Sequential([

    # 選擇0到5種方法做變換
    iaa.SomeOf((0, 5),
               [
                   iaa.Fliplr(0.5),  # 對50%的圖片進行水平鏡像翻轉(zhuǎn)
                   iaa.Flipud(0.5),  # 對50%的圖片進行垂直鏡像翻轉(zhuǎn)

                   # superpixel representation 將一些圖像轉(zhuǎn)換為它們的超像素表示,每張圖像采樣 20 到 200 個超像素,但不要用它們的平均值替換所有超像素,只替換其中的一些(p_replace)。
                   sometimes(
                       iaa.Superpixels(
                           p_replace=(0, 1.0),
                           n_segments=(20, 200)
                       )
                   ),

                   # Blur each image with varying strength using
                   # gaussian blur (sigma between 0 and 3.0),
                   # average/uniform blur (kernel size between 2x2 and 7x7)
                   # median blur (kernel size between 3x3 and 11x11).
                   iaa.OneOf([
                       iaa.GaussianBlur((0, 3.0)),
                       iaa.AverageBlur(k=(2, 7)),
                       iaa.MedianBlur(k=(3, 11)),
                   ]),

                   # Sharpen each image, overlay the result with the original
                   # image using an alpha between 0 (no sharpening) and 1
                   # (full sharpening effect).
                   iaa.Sharpen(alpha=(0, 1.0), lightness=(0.75, 1.5)),

                   # Same as sharpen, but for an embossing effect.
                   iaa.Emboss(alpha=(0, 1.0), strength=(0, 2.0)),

                   # Add gaussian noise to some images.
                   # In 50% of these cases, the noise is randomly sampled per
                   # channel and pixel.
                   # In the other 50% of all cases it is sampled once per
                   # pixel (i.e. brightness change).
                   iaa.AdditiveGaussianNoise(
                       loc=0, scale=(0.0, 0.05 * 255)
                   ),

                   # Invert each image's chanell with 5% probability.
                   # This sets each pixel value v to 255-v.
                   iaa.Invert(0.05, per_channel=True),  # invert color channels

                   # Add a value of -10 to 10 to each pixel.
                   iaa.Add((-10, 10), per_channel=0.5),

                   # Add random values between -40 and 40 to images, with each value being sampled per pixel:
                   iaa.AddElementwise((-40, 40)),

                   # Change brightness of images (50-150% of original value).
                   iaa.Multiply((0.5, 1.5)),

                   # Multiply each pixel with a random value between 0.5 and 1.5.
                   iaa.MultiplyElementwise((0.5, 1.5)),

                   # Improve or worsen the contrast of images.
                   iaa.ContrastNormalization((0.5, 2.0)),
                   iaa.imgcorruptlike.Saturate(severity=3),

               ],
               # do all of the above augmentations in random order
               random_order=True
               )

], random_order=True)  # apply augmenters in random order

# 圖片文件相關(guān)路徑
path = './input/'
savedpath = './output/'

imglist = []
filelist = os.listdir(path)

# 遍歷要增強的文件夾,把所有的圖片保存在imglist中
for item in filelist:
    img = cv2.imread(path + item)
    # print('item is ',item)
    # print('img is ',img)
    # images = load_batch(batch_idx)
    imglist.append(img)
# print('imglist is ' ,imglist)
print('all the picture have been appent to imglist')

# 對文件夾中的圖片進行增強操作,循環(huán)10次
for count in range(10):
    images_aug = seq.augment_images(imglist)
    for index in range(len(images_aug)):
        filename = str(count) + str(index) + '.jpg'
        # 保存圖片
        cv2.imwrite(savedpath + filename, images_aug[index])
        print('image of count%s index%s has been writen' % (count, index))

簡易變換 試效果

test01.py

# ##############簡易變換#################

# https://imgaug.readthedocs.io/en/latest/source/overview_of_augmenters.html
import cv2
from imgaug import augmenters as iaa
import os

# Sometimes(0.5, ...) applies the given augmenter in 50% of all cases,
# e.g. Sometimes(0.5, GaussianBlur(0.3)) would blur roughly every second image.
# sometimes = lambda aug: iaa.Sometimes(0.5, aug)

# 定義一組變換方法.
seq = iaa.Sequential([
    iaa.MotionBlur(k=15),  # 運動模糊
    # iaa.Clouds(),  # 云霧
    # iaa.imgcorruptlike.Fog(severity=1),  # 多霧/霜
    # iaa.imgcorruptlike.Snow(severity=2),  # 下雨、大雪
    # iaa.Rain(drop_size=(0.10, 0.20), speed=(0.2, 0.3)),  # 雨
    # iaa.Rain(speed=(0.3, 0.5)),  # 雨
    # iaa.Snowflakes(flake_size=(0.6, 0.7), speed=(0.02, 0.03)), # 雪點
    # iaa.imgcorruptlike.Spatter(severity=2),  # 濺 123水滴、45泥
    # iaa.contrast.LinearContrast((0.5, 2.0), per_channel=0.5),# 對比度變?yōu)樵瓉淼囊话牖蛘叨?
    # iaa.imgcorruptlike.Brightness(severity=2),  # 亮度增加
    # iaa.imgcorruptlike.Saturate(severity=3),  # 色彩飽和度
    # iaa.FastSnowyLandscape(lightness_threshold=(100, 255),lightness_multiplier=(1.5, 2.0)), # 雪地   亮度閾值是從 uniform(100, 255)(每張圖像)和來自 uniform(1.5, 2.0)(每張圖像)的乘數(shù)采樣的。
    # iaa.Cartoon(blur_ksize=3, segmentation_size=1.0, saturation=2.0, edge_prevalence=1.0), # 卡通

])

# 圖片文件相關(guān)路徑
path = './input/'
savedpath = './output_show/'

imglist = []
filelist = os.listdir(path)

# 遍歷要增強的文件夾,把所有的圖片保存在imglist中
for item in filelist:
    img = cv2.imread(path + item)
    # print('item is ',item)
    # print('img is ',img)
    # images = load_batch(batch_idx)
    imglist.append(img)
# print('imglist is ' ,imglist)
print('all the picture have been appent to imglist')

# 對文件夾中的圖片進行增強操作,循環(huán)1次
for count in range(1):
    images_aug = seq.augment_images(imglist)
    for index in range(len(images_aug)):
        # filename = str(count) + str(index) + '.jpg'
        # 保存圖片
        filename = str(filelist[index])
        cv2.imwrite(savedpath + filename, images_aug[index])
        print('image of count%s index%s has been writen' % (count, index))

使用 模糊光雨雪霧

運動模糊+雨雪霧天氣 2-3種
&
對比度 亮度 飽和度 選其一

my_augmentation.py

import cv2
from imgaug import augmenters as iaa
import os

# sometimes = lambda aug: iaa.Sometimes(0.5, aug)   # 所有情況的 50% 中應(yīng)用給定的增強器

seq = iaa.Sequential([
    # 選擇2到3種方法做變換
    iaa.SomeOf((2, 3),
               [
                   iaa.imgcorruptlike.MotionBlur(severity=(1, 2)),  # 運動模糊
                   # iaa.Clouds(),  # 云霧
                   iaa.imgcorruptlike.Fog(severity=1),  # 多霧/霜
                   # iaa.imgcorruptlike.Snow(severity=2),  # 下雨、大雪
                   iaa.Rain(drop_size=(0.10, 0.15), speed=(0.1, 0.2)),  # 雨
                   iaa.Snowflakes(flake_size=(0.1, 0.4), speed=(0.01, 0.03)), # 雪點
                   # iaa.FastSnowyLandscape(lightness_threshold=(100, 255),lightness_multiplier=(1.5, 2.0)), # 雪地   亮度閾值是從 uniform(100, 255)(每張圖像)和來自 uniform(1.5, 2.0)(每張圖像)的乘數(shù)采樣的。 這似乎產(chǎn)生了良好而多樣的結(jié)果。
                   # iaa.imgcorruptlike.Spatter(severity=5),  # 濺 123水滴、45泥

                   # 對比度 亮度 飽和度 選其一
                   iaa.SomeOf((1, 1),
                       [
                           iaa.imgaug.augmenters.contrast.LinearContrast((0.5, 2.0), per_channel=0.5),  # 對比度變?yōu)樵瓉淼囊话牖蛘叨?
                           iaa.imgcorruptlike.Brightness(severity=(1, 2)),  # 亮度增加
                           iaa.imgcorruptlike.Saturate(severity=(1, 3)),  # 色彩飽和度
                       ]
                   )
               ],
               # 隨機順序運行augmentations
               random_order=True
               )
], random_order=True)  # 隨機運行augmenters數(shù)量

# 圖片文件相關(guān)路徑
path = './input/'
savedpath = './output/'

imglist = []
filelist = os.listdir(path)

# 遍歷要增強的文件夾,把所有的圖片保存在imglist中
for item in filelist:
    img = cv2.imread(path + item)
    # print('item is ',item)
    # print('img is ',img)
    # images = load_batch(batch_idx)
    imglist.append(img)
# print('imglist is ' ,imglist)
print('all the picture have been appent to imglist')


for count in range(1):
    images_aug = seq.augment_images(imglist)
    for index in range(len(images_aug)):
        # 保存圖片 文件名和源文件相同
        filename = str(filelist[index])
        cv2.imwrite(savedpath + filename, images_aug[index])
        print('image of count%s index%s has been writen' % (count, index))

else

對input里的原圖像重命名:00001.jpg或者1.jpg

重命名00001.jpg

Rename0001.py

# ###################文件重命名#################

import os
import re
import sys

path = r"./input"
filelist = os.listdir(path)
filetype = '.jpg'
for file in filelist:
    print(file)
for file in filelist:
    Olddir = os.path.join(path, file)
    print(Olddir)
    if os.path.isdir(Olddir):
        continue

    # os.path.splitext("path"):分離文件名與擴展名
    filename = os.path.splitext(file)[0]
    filetype = os.path.splitext(file)[1]

    # zfill() 方法返回指定長度的字符串,原字符串右對齊,前面填充0
    Newdir = os.path.join(path, filename.zfill(5) + filetype)  # 數(shù)字5是定義為5位數(shù),可隨意修改需要的
    os.rename(Olddir, Newdir)

重命名1.jpg

Rename1.py

# ###################文件重命名################
import os
class BatchRename():

    def __init__(self):
        self.path = './input/'  # 圖片的路徑

    def rename(self):
        filelist = os.listdir(self.path)
        filelist.sort()
        total_num = len(filelist)  # 獲取文件中有多少圖片
        i = 0  # 文件命名從哪里開始(即命名從哪里開始)
        for item in filelist:
            if item.endswith('.png'):
                src = os.path.join(self.path, item)
                dst = os.path.join(os.path.abspath(self.path), str(i) + '.png')

                try:
                    os.rename(src, dst)
                    print('converting %s to %s ...' % (src, dst))
                    i = i + 1
                except Exception as e:
                    print(e)
                    print('rename dir fail\r\n')

        print('total %d to rename & converted %d jpgs' % (total_num, i))


if __name__ == '__main__':
    demo = BatchRename()  # 創(chuàng)建對象
    demo.rename()  # 調(diào)用對象的方法

效果圖

input示例 00001.jpg

請?zhí)砑訄D片描述

output示例 00001.jpg

在這里插入圖片描述

input示例 00005.jpg

在這里插入圖片描述

output示例 00005.jpg

在這里插入圖片描述

到此這篇關(guān)于Python imgaug庫 安裝與使用教程(圖片加模糊光雨雪霧等特效)的文章就介紹到這了,更多相關(guān)Python imgaug庫安裝使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python使用googletrans報錯的解決方法

    Python使用googletrans報錯的解決方法

    這篇文章主要給大家介紹了關(guān)于Python使用googletrans報錯的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09
  • 詳解pandas中缺失數(shù)據(jù)處理的函數(shù)

    詳解pandas中缺失數(shù)據(jù)處理的函數(shù)

    這篇文章主要為大家詳細介紹一下pandas中處理缺失數(shù)據(jù)的一些函數(shù),文中具體講解了一下各個函數(shù)的使用,需要的可以參考一下
    2022-01-01
  • 淺析Python 實現(xiàn)一個自動化翻譯和替換的工具

    淺析Python 實現(xiàn)一個自動化翻譯和替換的工具

    這篇文章主要介紹了Python 實現(xiàn)一個自動化翻譯和替換的工具,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-04-04
  • 基于python2.7實現(xiàn)圖形密碼生成器的實例代碼

    基于python2.7實現(xiàn)圖形密碼生成器的實例代碼

    本文通過實例代碼給大家介紹了python2.7實現(xiàn)圖形密碼生成器,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧
    2019-11-11
  • python3判斷url鏈接是否為404的方法

    python3判斷url鏈接是否為404的方法

    這篇文章主要介紹了python3判斷url鏈接是否為404的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • python用plt畫圖時,cmp設(shè)置方法

    python用plt畫圖時,cmp設(shè)置方法

    今天小編就為大家分享一篇python用plt畫圖時,cmp設(shè)置方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Python使用qrcode二維碼庫生成二維碼方法詳解

    Python使用qrcode二維碼庫生成二維碼方法詳解

    這篇文章主要介紹了Python使用qrcode二維碼庫生成二維碼方法詳解,需要的朋友可以參考下
    2020-02-02
  • Python自動化測試之登錄腳本的實現(xiàn)

    Python自動化測試之登錄腳本的實現(xiàn)

    本文主要介紹了Python自動化測試之登錄腳本的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • django在開發(fā)中取消外鍵約束的實現(xiàn)

    django在開發(fā)中取消外鍵約束的實現(xiàn)

    這篇文章主要介紹了django在開發(fā)中取消外鍵約束的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • 淺談python之自動化運維(Paramiko)

    淺談python之自動化運維(Paramiko)

    這篇文章主要介紹了淺談python之自動化運維(Paramiko),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01

最新評論