博客主页:[小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: 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 中,色彩控制既是设计中至关重要的环节,也是创意表达 的一大助力。合理的配色
不仅可以提升画面的吸引力 ,还能在视觉表达 中实现更深层次的情感共鸣。通过色调的调整 ,我们能够轻松切换画面的氛围 ,从纯净简约 的白色调
到活泼生动 的明色调,每一种选择都蕴含着无限的创作潜力 。
然而,色调的选择 并非完全无条件的 。不同色调虽然能带来独特的优势 ,但也伴随着某些局限性 ,比如白色调的单调 、淡色调的柔弱,以及明色调可能欠缺的高级感 等。这提醒我们在设计过程中需要审慎评估目标表达 与色调的匹配度。通过深入理解各类色调的特性 ,结合实际设计需求 ,我们可以更有效地平衡画面表现力 与创意表达的深度
,使每一次创作都更加出色 与贴合主题。
python
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()