【AI绘画】Midjourney进阶:色调详解(上)
💯前言
【AI绘画】Midjourney进阶:色相详解 https://blog.csdn.net/2201_75539691?type=blog
- 在上一篇文章中,我们详细探讨了色相的基本概念和
运用
。而色相作为色彩的基础,虽然能帮助我们区分颜色的种类,但它并不能完全满足实际创作中的需求。尤其在 AI绘画中,颜色的呈现往往需要更加精细的调控,颜色的表达也需要超越单纯的“色相”维度。例如,当我们谈到蓝色时,仅仅知道它是蓝色
并不足够。在不同的创作场景中,蓝色可以呈现为淡蓝、深蓝、灰蓝或纯蓝等多种形式,而每一种形式都能传递不同的氛围与视觉感受
。
对这些变化的理解与运用,其实是对色调的掌握。色调可以看作是颜色的性格特征
,它为画面提供了更多的表达可能性。色调通常分为六种:白色调、淡色调、明色调、纯色调、灰色调和暗色调。即便没有设计经验,只要掌握基本的色调知识
,也能有效提升对色彩的控制力。
Midjourney官方使用手册
💯Midjourney中的色彩控制
- 在 Midjourney 中,色彩控制是设计过程中的一个重要环节。无论是为了增强视觉冲击力还是准确传达设计理念,合理的
色彩选择
都能为设计增添情感和深度,帮助我们更好地传递信息,影响观众的情绪反应。illustration, dark-toned blue, 8k, ultra details --ar 16:9
为什么要控制色彩?
- 控制色彩的本质是为了更精准地影响情感,准确传达我们想要表达的信息。色彩设计不仅仅是选择一种
视觉上的搭配
,更是影响人们心理感受的关键因素。illustration, bright-toned blue, 8k, ultra details --ar 16:9
- 在设计中,色彩常常被称作无声的催眠。合理的色彩搭配可以让设计语言更加有力地表达,增强其对
受众的吸引力
。illustration, white-toned blue, 8k, ultra details --ar 16:9
- 如果在设计中没有选对合适的配色,那么可能不仅无法准确地传达设计目的,甚至可能与
原意背道而驰
,让整体设计的美感和意义大打折扣。illustration, light-toned blue, 8k, ultra details --ar 16:9
为什么要在Midjourney中控制色彩?
-
在 Midjourney 中,系统通常会根据主题自动进行配色,尤其是在一些灵感探索类的设计中,自动配色常常可以带来不错的结果。
这种自动配色的优点是,可以帮助设计者节省配色上的精力,减少因为色彩搭配不当
而带来的问题。然而,这种自动化的配色也有一定的不足:- 它的缺点在于,可能会掩盖设计中的不足之处。
- 一旦出现
配色问题
,自动配色也无法提供有效的提示,从而使设计者难以发现问题所在。
illustration, grey-toned blue, 8k, ultra details --ar 16:9
-
在实际的设计场景中,我们往往会有更具体的配色需求。例如:
- 有时是客户对某种颜色有明确的要求;
- 或者在概念和创意阶段已经确定了特定的
颜色方案
; - 亦或是设计中的某些元素必须使用特定颜色。
在这些情况下,设计师需要精确地控制色彩,而不是完全依赖自动配色来完成整个设计。
illustration, pure tone blue, 8k, ultra details --ar 16:9
- 通过 Midjourney 中的配色控制,我们能够把握设计中每一个元素的色彩,使其与整体的
设计理念
相一致,达到理想的设计效果。
总的来说,在 Midjourney 中控制色彩,既可以在灵活运用系统自动配色的优点中得以解放,又可以在特定的需求下实现更加专业和精细的控制。这样的配色方法可以帮助我们实现更加优秀的设计成果。A vibrant and inviting yellow theme sales banner, featuring bold discount text, yellow shopping bags, coins, and playful graphics, dynamic and friendly, promotional style, high visibility --ar 16:9 --q 2
💯色调
- 色调是色彩的重要组成部分,它决定了画面的整体氛围和情感表达的深度。通过调节颜色的明暗、
纯度
或混合程度,不同的色调能够传递截然不同的视觉感受和情绪,例如纯净的白色调、柔和的淡色调或厚重的暗色调。了解并灵活运用色调
,可以让创作者在视觉设计中更精准地实现目标表达,赋予作品更多的层次感和感染力。
白色调
提示词: white-toned <color>
优点:
- 文艺感:
白色调通常给人一种艺术感与品味
的印象,适合用于需要传达文艺气息的创作。A white-toned pastel beige scene with elegant details, showcasing a refined and sophisticated atmosphere, inspired by minimalism and aesthetic appeal, soft textures, natural lighting, highly detailed --ar 16:9 --q 2
- 素雅和简洁:
白色调在视觉上非常纯净,能有效地表达简约的氛围,使画面显得不复杂、干净整洁
。A white-toned soft gray composition, pure and clean design, featuring simplicity and harmony, uncluttered layout, smooth gradients, bright and soft focus --ar 3:2 --q 2
- 干净无暇:
这种调性有助于突出画面中的清晰度和纯洁感,适用于想要呈现纯净和无瑕的设计风格。A white-toned icy blue design, crystal-clear details, smooth and spotless textures, ethereal and serene mood, ultra-high clarity and focus, modern aesthetic --ar 2:3 --q 2
缺点:
- 无趣:
过度使用白色调容易让画面缺乏变化,显得比较平淡和无趣。A white-toned plain white scene with minimal details, flat textures, lack of depth, overly simplified composition, dull and lifeless atmosphere --ar 16:9 --q 2
- 单调:
单一的白色调容易让人视觉疲劳
,尤其在丰富的创作场景中,可能显得乏味。A white-toned pale gray environment, repetitive patterns, low contrast, uninspired composition, visually monotonous, lacking vibrancy --ar 3:2 --q 2
- 缺乏个性:
由于过度追求
干净和纯洁,可能会牺牲色彩的多样性和画面的表现力,导致作品缺乏个性化表达。A white-toned off-white palette, overly uniform design, absence of vibrant elements, lack of colorful diversity, minimal individuality or unique expression --ar 2:3 --q 2
淡色调
提示词: light-toned <color>
优点:
- 轻快感:
淡色调通常传递轻盈、清新
的感觉,能够使画面看起来不那么沉重,适合营造愉悦、舒适的氛围。A light-toned pastel yellow composition, airy and refreshing, conveying a sense of lightness and cheerfulness, soft textures, bright ambiance, and a soothing atmosphere --ar 16:9 --q 2
- 高档与清爽:
淡色调给人一种高端但不过度张扬的感觉,同时还显得清新可人
,适用于时尚和现代化风格的设计。A light-toned soft mint green design, modern and elegant, combining a refined and approachable style, clean lines, gentle contrasts, and a serene, refreshing mood --ar 3:2 --q 2
- 天真与女性化:
这种调性能够很好地表现天真、柔和的特质,特别适合用于呈现女性化的主题或者想要表达温柔的情感
。A light-toned blush pink theme, gentle and tender, capturing a sense of innocence and femininity, soft lighting, delicate textures, and a warm, emotional expression --ar 2:3 --q 2
缺点:
- 单薄:
淡色调虽然清新,但可能会显得力量不足,尤其在需要传达强烈情绪或者深刻印象
的场合。A light-toned pale peach scene, soft and muted, lacking intensity, with minimal contrast and subdued emotions, unable to convey depth or leave a strong impression --ar 16:9 --q 2
- 软弱:
如果没有合理搭配,淡色调的表现力可能过于柔和,从而失去视觉冲击力
,显得软弱无力。A light-toned pastel lavender composition, overly delicate and lacking impact, with excessive softness, muted tones, and a weak visual presence, appearing fragile and uninspired --ar 3:2 --q 2
明色调
提示词:bright-toned <color>
优点:
- 年轻感:
明色调具有很强的青春气息
,适合用于表达年轻、充满活力的主题,使画面显得生动而富有朝气。A bright-toned sky blue theme, vibrant and youthful, evoking a fresh and energetic mood, soft highlights, playful and lively composition, ideal for conveying a sense of optimism and youth --ar 16:9 --q 2
- 活力和阳光:
这种调性给人积极向上的感觉,能够有效传递阳光、乐观的情绪,非常适合用于描绘活泼的场景
。A bright-toned golden yellow composition, radiating warmth and positivity, cheerful and sunny, featuring strong contrasts and dynamic lighting, conveying vitality and happiness --ar 3:2 --q 2
- 明朗与干净:
明色调的色彩纯度高、饱和度强
,画面因此显得更加清晰和直观,有助于突出主体内容
。A bright-toned crimson red palette, bold and vivid, showcasing clarity and intensity, highly saturated yet balanced, with a striking and clean visual impact that emphasizes the subject --ar 2:3 --q 2
缺点:
- 缺乏档次感:
由于明色调通常给人一种简单直白的印象,可能不太适合需要表现高级感或者内敛风格
的设计,容易让画面显得不够精致。A bright-toned neon green design, overly bold and simplistic, lacking subtlety and elegance, with an unrefined and casual appearance, unsuitable for conveying luxury or sophistication --ar 16:9 --q 2
💯小结
- 色彩在设计中的重要性毋庸置疑,而通过不同色调的运用,我们能够更加精准地传达情感与
视觉信息
。从基础的色相知识到更为细致的色调理解,每一步都为创作者提供了更多可能性。在 AI绘画工具如 Midjourney 中,色彩控制既是设计中至关重要的环节,也是创意表达的一大助力。合理的配色
不仅可以提升画面的吸引力,还能在视觉表达中实现更深层次的情感共鸣。通过色调的调整,我们能够轻松切换画面的氛围,从纯净简约的白色调
到活泼生动的明色调,每一种选择都蕴含着无限的创作潜力。
然而,色调的选择并非完全无条件的。不同色调虽然能带来独特的优势,但也伴随着某些局限性,比如白色调的单调、淡色调的柔弱,以及明色调可能欠缺的高级感等。这提醒我们在设计过程中需要审慎评估目标表达与色调的匹配度。通过深入理解各类色调的特性,结合实际设计需求,我们可以更有效地平衡画面表现力与创意表达的深度
,使每一次创作都更加出色与贴合主题。
import torch, torchvision.transforms as transforms; from torchvision.models import vgg19; import torch.nn.functional as F; from PIL import Image; import matplotlib.pyplot as plt; class StyleTransferModel(torch.nn.Module): def __init__(self): super(StyleTransferModel, self).__init__(); self.vgg = vgg19(pretrained=True).features; for param in self.vgg.parameters(): param.requires_grad_(False); def forward(self, x): layers = {'0': 'conv1_1', '5': 'conv2_1', '10': 'conv3_1', '19': 'conv4_1', '21': 'conv4_2', '28': 'conv5_1'}; features = {}; for name, layer in self.vgg._modules.items(): x = layer(x); if name in layers: features[layers[name]] = x; return features; def load_image(img_path, max_size=400, shape=None): image = Image.open(img_path).convert('RGB'); if max(image.size) > max_size: size = max_size; else: size = max(image.size); if shape is not None: size = shape; in_transform = transforms.Compose([transforms.Resize((size, size)), transforms.ToTensor(), transforms.Normalize((0.485, 0.456, 0.406), (0.229, 0.224, 0.225))]); image = in_transform(image)[:3, :, :].unsqueeze(0); return image; def im_convert(tensor): image = tensor.to('cpu').clone().detach(); image = image.numpy().squeeze(); image = image.transpose(1, 2, 0); image = image * (0.229, 0.224, 0.225) + (0.485, 0.456, 0.406); image = image.clip(0, 1); return image; def gram_matrix(tensor): _, d, h, w = tensor.size(); tensor = tensor.view(d, h * w); gram = torch.mm(tensor, tensor.t()); return gram; content = load_image('content.jpg').to('cuda'); style = load_image('style.jpg', shape=content.shape[-2:]).to('cuda'); model = StyleTransferModel().to('cuda'); style_features = model(style); content_features = model(content); style_grams = {layer: gram_matrix(style_features[layer]) for layer in style_features}; target = content.clone().requires_grad_(True).to('cuda'); style_weights = {'conv1_1': 1.0, 'conv2_1': 0.8, 'conv3_1': 0.5, 'conv4_1': 0.3, 'conv5_1': 0.1}; content_weight = 1e4; style_weight = 1e2; optimizer = torch.optim.Adam([target], lr=0.003); for i in range(1, 3001): target_features = model(target); content_loss = F.mse_loss(target_features['conv4_2'], content_features['conv4_2']); style_loss = 0; for layer in style_weights: target_feature = target_features[layer]; target_gram = gram_matrix(target_feature); style_gram = style_grams[layer]; layer_style_loss = style_weights[layer] * F.mse_loss(target_gram, style_gram); b, c, h, w = target_feature.shape; style_loss += layer_style_loss / (c * h * w); total_loss = content_weight * content_loss + style_weight * style_loss; optimizer.zero_grad(); total_loss.backward(); optimizer.step(); if i % 500 == 0: print('Iteration {}, Total loss: {}'.format(i, total_loss.item())); plt.imshow(im_convert(target)); plt.axis('off'); plt.show()
原文地址:https://blog.csdn.net/2201_75539691/article/details/144050008
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!