- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 555252 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 171948
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 18
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
如何用代码画出一幅好看的画 _ b$ d+ K# Z. F( \8 }4 A: n
' s" g" X# o5 ~0 {5 J% u$ C前言
8 h" s2 d! m5 }4 q2 Z随着计算机技术的逐步发展,借助计算机强大的能力进行绘画操作,已经变得非常容易。绘画作品的水平也是越来越高,下面就来看看用编程语言绘画,能搞出什么有意思的东西,相比人类的创作又有哪些值得我们思考的地方。' ^' a& b# r/ q2 o, r5 _+ K! c; e
1 p+ p ]. F. y# @绘画
7 h/ |/ l+ n' |! \0 f7 ]' f' @用代码输出类似绘画的内容,最最原始的恐怕就是直接使用 print 函数了。4 R! k$ W. r5 U G
6 ^1 `- H. b6 R) _print 输出字符2 F4 D, T j4 j$ k! o1 Y+ C6 D
def do_print():
2 U% ~: q/ T! `1 {3 h* o print('''
( w+ D) m; w3 Q* Y; Q& g' s- R% b, ?$ q% B
へ /|3 y/ K) n6 O! e' x X S C- C
/\7 ∠_/
: G& s& u8 ~# @0 O / │ / /
( V/ n) M P7 T' F │ Z _,< / /`ヽ
9 M% E4 X$ S$ _8 C │ ヽ / 〉
' C! D# Y$ W; S0 y0 W Y ` / /
! K; i6 y9 }+ g イ● 、 ● ⊂⊃〈 /
" A X; o) R3 u# m () へ | \〈
! t; Y" @$ U; K7 s% n: c, ]( v >ー 、_ ィ │ //; Y) k' c/ ~7 ? o6 B" t
/ へ / ノ<| \\
4 u: D* W7 @0 n ヽ_ノ (_/ │//
: Y+ h1 D2 b d1 [6 r c 7 |/
2 _% T/ A t& [2 o4 B >―r ̄ ̄`ー―_
$ ]: i! d$ i0 c3 O ''')& {& G* c, ?5 @
17 d2 r3 B* |) M8 s" b
2: x6 Z" o1 r5 R# I) m3 A
3
. A. F1 t: v; h9 ~+ U4
( P: a* T, f5 ]4 D7 k54 O* e$ O' s% S+ q
6
* y* q) v5 ]2 X4 u$ w+ Y$ R5 \78 L+ A, }; R0 s
8
" i8 r& w' @! _; `# d; ^( D9! H7 {0 c. F9 S) v; Q- X4 e( Q$ f
10' q5 c- t+ V+ l- y, u
11
. L7 ]5 @" Q m0 F% O0 Q$ } \12
# }: t5 y9 C( r+ P. i13
9 X2 c# `+ k( i. S- C5 p14
5 F/ `0 Q0 u: A) }9 @; n- g8 ]15
2 q9 Z) n4 ]9 i2 J+ d$ J/ u) W16( K( e. l$ T0 p7 c
17
7 W9 |2 i% u/ [3 N V) _这个方法执行后,就可以在控制台看到下面这幅可爱的皮卡丘画了。
' d; W! J& J# S7 G) G/ o: R4 i) X2 O1 S; o0 c
7 e; H* {- ~* l6 r) N
" b j; [9 n7 B
这种做法,可以说是完全没有什么技术水平了。想要画什么内容,还得预先编排字符,太麻烦了。于是便有了升级版。
. ^, }, [+ c9 m; y3 m( p4 N: j1 e
* k$ V* x* K$ o/ u) N+ K5 ^图片转字符! k' J$ b9 p7 h" O* N6 R9 V
这种用图片转字符,看似没有什么意义,但其实有时候可以创作出意想不到的作品。比如前一阵子的顶流冰墩墩。; ^9 S* {' r$ P0 t
1 X6 {) B1 D$ L. p5 h
+ R4 ^& S+ J. K8 z: d0 c8 i: L% H( ~ a! M) r& F; Y: f! R
这种做法的思路总的来说,就是把图片的抽样图片的像素信息,然后将像素信息中关键的亮度信息用特殊的字符串进行打印,效果就是我们最终看到的样子。
, N! [( m- }; U1 W0 n1 M0 R r \2 d# ~/ h9 B
public static void printImage(BufferedImage image) throws IOException {
8 u0 Y0 Y$ L: v- i* B final char[] PIXEL_CHAR_ARRAY = {'W', '@', '#', '8', '&', '*', 'o', ':', '.', ' '};
7 R8 N3 \, b6 O int width = image.getWidth();0 r+ z3 F! U% P7 R) l8 v7 t( d7 d, R
int height = image.getHeight();
. u5 p0 F f$ _ for (int i = 0; i < height; i++) {
# e% z! S" g$ _2 o! X for (int j = 0; j < width; j++) {5 ?, Q, v, {* a5 C8 r( z/ ^
int rgb = image.getRGB(j, i);
' d. g1 O- P( P- b Color color = new Color(rgb);
/ M) Q. K/ k3 T$ S( N int red = color.getRed();2 V. `6 W) Y( @/ A y
int green = color.getGreen();- |. y0 V2 f2 O2 d0 Y
int blue = color.getBlue();
! n7 q- \; W9 I3 ]' H) e // 一个用于计算RGB像素点灰度的公式
' I4 Y: r! I2 X- w# ]! J* K) M Double grayscale = 0.2126 * red + 0.7152 * green + 0.0722 * blue;; k; m; M8 f& M1 g* F$ s- c+ x) P; s
double index = grayscale / (Math.ceil(255 / PIXEL_CHAR_ARRAY.length) + 0.5);
) i0 T/ s) L! v6 @) U+ G System.out.print(PIXEL_CHAR_ARRAY[(int)(Math.floor(index))]);7 Z% i( z' H# G- t" D
}
+ Q2 _2 t p! w5 [+ t0 G, S* l System.out.println();
. @6 o9 g) X, P* v' d }
) E+ e3 p, O8 \2 t7 [' H, {2 h" U}& r/ Y6 d k% f. t+ W* [
) w7 j: }; T8 z# a5 o5 ?9 t
1$ P' c. E8 X5 j$ O+ f
2
# }" B {. b. _$ o( E32 a. [$ d8 Y: b; L0 a. X3 M4 ^
4
. N& S$ O; f# l) N; {' E) M57 u; X+ l+ {( h& y n; W% O
6 C M, g1 T5 @, j7 n
79 ~3 G$ q9 S* A: u. d# S) z7 M
8
2 J" G9 g( K' ?* ?93 X8 K4 v& \1 w( Z; G% x
10
: i L) g* Q+ ^, f" D% @" h T; {/ h11
8 f& e4 N: I3 r3 C8 S12
g8 B7 B) ~/ Q13/ \; A/ k* k2 n4 s( I
145 x3 x' @9 b% J: l" P
153 h9 Z c/ r6 K/ w1 t/ w6 R) b0 G
16
. F* N# V9 A* Z# E# [8 B& v17 _ H' V4 ^' x
18- O5 }* Q9 Z7 X
19
0 m" f4 w4 b e3 @5 B更多具体实现可以参考 字符作画,我用字符画个冰墩墩 。
& K: G1 h+ C5 m+ ~/ f8 E
% S! O9 e+ _( m2 G6 W# |5 j4 m# H使用 Python-turtle 库作图
8 x3 T4 P8 Z. g$ e2 `# G& H下面这几幅知乎用户的回答,可以说是非常有水平了。
) [ H$ a3 {) L! D' E+ N/ ]( ?% _4 ^5 U- a$ c. X. _
6 W9 F; Y7 `) q, n
5 p1 I5 B" K8 }! o5 u' P* timport random! z9 f A$ F* y, W* ~6 u
import turtle$ J3 o( g" N# ]# p7 H1 J: s( \% Y1 @
from turtle import *" D$ }- g( X3 g8 [
3 g+ ^( Y- ~4 L' G0 n
t = turtle.Turtle()
+ }1 m$ j% z5 J2 nw = turtle.Screen() Q+ W' o* G5 S0 t0 z8 \
6 o4 E5 K5 j' Y. I) z( ~
$ ?. R* N& R# F6 F- Y' y* ]
def tree(branchLen, t):
7 \" G; S& |+ E" L _% ^/ D if branchLen > 3: ?- M. x8 l0 i8 C6 G: o" r
if 8 <= branchLen <= 12:# c* f1 J* Q) y/ i# W: w
if random.randint(0, 2) == 0:# y0 `" V) O8 G
t.color('snow')
: i! b9 h" W7 ?" c- [% ^# W9 i, t else:- H' T# e2 B) k% i# f: M) T
t.color('lightcoral')
9 N/ J$ @9 V% i5 Z9 [ t.pensize(branchLen / 3)
, f$ b' H; d. K5 |8 O elif branchLen < 8: y3 b: y% ^: V! k* v1 |8 A
if random.randint(0, 1) == 0:
, @3 \1 q9 g) N% Y7 W3 H+ ^ t.color('snow')
, r$ g: P% X- f( L; P! ^8 u% r9 I else:3 Z5 Y% P; U% ^: H4 N" s
t.color('lightcoral')
0 p' P( \8 K1 {2 [ t.pensize(branchLen / 2)
% u; a, r' z. g6 F3 L. ]/ V5 ?5 H else:. q9 |( H p) x( e, J9 I
t.color('sienna')
, O8 {& j$ Z d9 V T4 x8 Z2 f t.pensize(branchLen / 10)
( I( v$ [0 v1 d/ l
. t: [9 |$ i5 C6 M; o( q t.forward(branchLen)* l2 \% R \4 S _0 Q& s
a = 1.5 * random.random()( c, }, Z& `: x; h- b
t.right(20 * a)- c# U, s1 _4 N
b = 1.5 * random.random()
* L! \9 x2 Y- Y8 q* G tree(branchLen - 10 * b, t)
0 ]. ]% }3 n$ D8 e t.left(40 * a)
+ p: N1 s Q% [' L tree(branchLen - 10 * b, t)
: k% }- j5 X& ]* l" ]- j- w _ t.right(20 * a)/ M1 J' m, L3 J. o Z
t.up()
7 |" `5 Y& A0 {8 E3 L t.backward(branchLen)6 ^' R. ] q( v- U1 }2 j7 }/ R3 f( X2 z
t.down(), N8 O3 A2 G. n4 a7 {# x; M
7 N' d' ]! J& k; E; |0 M- |9 M' |* K# D& E3 l$ {
def petal(m, t): # 树下花瓣
& }6 I. z) o$ b8 X for i in range(m):
" [4 N/ a( [, k' c a = 200 - 400 * random.random(): B {& p) I/ j5 R+ R& I
b = 10 - 20 * random.random()
/ a c) Z$ o7 K2 z" i4 f$ r t.up()% u7 z L2 Q6 i r# C
t.forward(b)
6 H7 p0 }8 D; }6 ` t.left(90)
4 g4 N$ V3 ^! x" @& I# U' S t.forward(a)$ t( P( k, M: q% A. F+ `3 e4 l( \1 N7 S
t.down()/ s0 E G4 p# ~4 z5 P5 ^" _/ Z6 T% q
t.color("lightcoral"); Z8 T6 X& I7 P: J; X
t.circle(1)+ s1 h" T2 H) A& I, x) n
t.up()
p1 _$ L1 H( S4 f" N/ T- C t.backward(a)4 C+ z" k! v2 H5 `) P
t.right(90)0 |: {+ D# u3 T9 _5 h E0 k2 @
t.backward(b)
O9 \8 a$ w2 Q/ ?" ^" t9 b( A2 V5 B7 U# A& G
]4 L( }2 u3 y7 X* g. c. @
def main():5 I/ M: E h6 L
t = turtle.Turtle()4 O, ?3 n: Z2 R" X5 b( |* I' P
myWin = turtle.Screen()% O+ n% m9 ^% ~+ {/ o8 C1 [+ s
getscreen().tracer(5, 0)) X# O( [% h t* ]; u. ]
turtle.screensize(bg='wheat') Z, {6 n% U: j0 p. Y8 z d. L
t.left(90)4 a; }9 M9 ?6 |% t0 @4 z2 X
t.up()7 z) F* w u2 ^' \5 ?, d
t.backward(150)! l) ?" }; |4 ~( n8 D7 {
t.down()% C9 J3 M$ u7 Y9 r0 s1 _8 o0 |- u
t.color('sienna')
" |: v/ H! F/ O% O2 g, d tree(60, t)
- ?6 P0 `# X3 U petal(100, t). R3 R; L" s1 J. ]
/ i7 [1 N; R8 ~, ]
myWin.exitonclick()
/ R! R& I7 c+ ]! m8 P: _' u! G& n! y( {/ [+ y6 h" M; L% M! y
6 u0 H; u7 W# H0 |' W
if __name__ == '__main__':
6 G; K5 | c2 c% E main()
( c7 Q) z& g% w8 ]4 D1 K
/ ?1 j- {, W: O+ R, m. i) W" r+ j6 T4 p6 u3 T K. U
1( {9 f) A& ?9 v6 H6 n: \
2
1 Y# J& L$ d& E' z3 x& i3 d$ e6 b" ]3
9 S) p) g1 c. m& l4# ?# h: G" g( o8 ~1 e* E$ r5 w
58 x( ^/ A& [% ~. m
65 `' w0 k$ z9 j
77 T0 g$ D$ \) G: C/ ?# ~
8! A b: z7 v% b3 E7 L- u
9
{; i+ a6 E) n, \- \10
) q! T$ R1 z s3 r11
1 b( z" G5 A/ `5 K( k/ B6 b) i12: F" z/ i' b/ _6 W7 T9 l
13
u4 |/ w6 x" E: W1 ]; E: q14
9 p" Q/ X6 @. g, ]6 J15* r$ ^( { T2 E7 G/ v
165 o) F7 h. D. N
17
8 g+ p- n1 q# q, F- C. x18
5 I/ O! h, F6 p2 c/ l& O19; J3 T+ C R6 w; Q1 G8 I
20
6 \6 y8 ^) y: j! O. P7 z21
+ i- D' `8 r) S22( b7 }% G' i: h/ p2 `# a( Z
23
0 c0 I% x7 _+ C: N3 L24$ i5 g( I a9 S+ f2 M' d/ ?, C
25; {0 p( {# ~8 O& m
26
' @ u) {: \2 ?# }, m27
2 q, [) z% J/ o |28$ L6 G" v5 ]1 c, g- @
292 o( q* x0 M! f
309 h" x1 e+ Z5 L* M
31+ a: B- `: V9 ?3 d1 O8 f
32; G4 ?8 p# \; E% G6 B
33
6 T7 p7 ^ x! G8 X% E348 `# p {. h3 q( t
350 m( V& p( e3 z0 u) ^, p- ]
36 g$ h2 P0 x! ^
37
: J1 p% i/ q0 l3 `2 D) \ Z381 y1 v9 I9 X4 o& }* J
39
# F+ K9 N$ r+ g9 X3 I40
$ H& N) v J: H3 Y7 [: p414 d7 O7 Y9 r- D) _
42* [" [% l0 s# [7 J7 y
43
2 c9 g1 f: k* D& R: k t44
8 I3 z3 {/ I; C' h) M45
% }, G! U7 n( ^& N46' l# K! ?: U& p* G
47
' a" O' _% p) r& X" {: f& }487 v: f' Y/ U/ H7 f4 [
492 E; \- }, G0 P; G6 e, N) j
50
2 D; @0 O) H" Z4 g51
8 d O; [" l8 c: i7 T52
# W3 q/ F8 m3 g53
) j7 Z# J1 r# [3 b+ L a6 H) {54
1 r( }% z0 H/ o3 e/ n, ]55% d: Q' x- W$ K5 R7 X& Z6 K7 n
56
* |9 u! h1 g( C3 M/ m57. X5 t9 K6 B" [% n. Q7 |* ~ b5 C* d
58
- h2 l$ U: U* [! R" V# f592 q( ~/ {, l. p1 {$ U) g( C* u
607 t h& N" W6 F4 L' P5 g9 w$ L
61- ?) I4 B w1 e' i
62
% e: N( ?8 W. s63
: m- ?7 o6 s# Y9 @8 U; V. u: g* ?64
: c0 N! q( M; z6 [650 X& D+ ^9 n$ l7 e2 t) B9 r( G: s
665 i, `6 s' g1 F- }! C
67
% E7 K8 {# c% S; r& l1 P68
6 \: u. B: c& I3 [8 X69/ X; n4 }+ R+ e8 c) m
70- N3 z+ u9 o2 B! ]2 T8 _; M
716 j/ |/ [' z0 p6 F
729 F8 E: Z+ [" s
737 J6 u$ y/ z5 e9 R: {
74
# u. S0 T1 a4 A- P+ Y C75
; B9 h, Q6 v% q
& F- ]4 J: t7 C1 u9 K* Y; c
# E3 B+ S) s4 m! I( C( a
0 m4 p8 i0 k& x可以看到,使用 turtle 库加上强大的数学几何知识,可以创作出非常好的看图像。更多内容可以参考 这个问题8 T. }9 O9 e q8 D) U( u
' C. X4 C2 E% C! E使用 AI 作画
3 y' ]3 r [% R; yERNIE-ViLG文生图' C/ |& M" D$ c0 B: I8 i! `
使用以上方案绘制的内容,一般都比较刻板,缺少一些人文气息。少了一些人类才能有的特点。但是随着 AI 算力的提升和大数据的逐步发展,已经有很多可以使用 AI 进行作画的平台了。 比如 百度飞浆文心大模型 ERNIE-ViLG文生图 平台。6 V/ Y9 ~! V" q
2 o0 @* u8 d4 P) M
import wenxin_api" T8 j9 ]$ P' r( l) Z& F0 m
from wenxin_api.tasks.text_to_image import TextToImage
2 ^- B \3 m$ h, @( v( h2 B; r# limport secret" O' i$ @1 `9 V# Z
4 p R1 k6 O1 d8 V2 U* s5 U: A3 a3 ^6 @1 i4 v
def draw(t, s):7 L/ X, D& W) [# B
wenxin_api.ak = secret.ak: f; V' }' {$ m* t7 O' ~" n T1 F) q& V
wenxin_api.sk = secret.sk
. E1 ?; ]6 Z5 H! X2 e input_dict = {9 m* b) r3 y g' q
"text": t,0 W; \$ s# s5 t1 m
"style": s
$ l h% U9 X9 R5 f6 P }
- |4 x& E- ?$ E2 o1 g rst = TextToImage.create(**input_dict)- f6 O6 e& U" {$ O% s
print(rst)
7 {( I, W0 N1 X1 c
) z3 t k" d, W* \0 I
2 R4 @6 o# [' R/ a3 M8 Vif __name__ == '__main__':
/ ?. X2 P' E) _2 T text = "夏天"
4 C* d' l/ i8 `" l% C* w style = "油画"
3 [# a. [7 I1 l _" ] draw(text, style)
4 G8 W# e9 K6 k* e
5 v) T) f- ~' H& c- [/ e1 ^" Z3 w) `. ~
2
& L3 Q5 v) Q1 d# N9 W. D3& K. E9 ^- {( u
4 y. U& q1 T f: r( ]- t
5/ C1 z( w1 Y, O5 H# t! r
6+ u' x# S1 G' d& j$ {
7. G' M" J* `! W1 M- t/ [
8
" ?( w' c& d: K9 e6 c2 h95 L# S5 J* P% O
10* N3 O8 k5 s R0 \& H" y
11, v; \2 G' Y2 v% z
12
& B0 x1 n0 U5 z- B131 b$ M+ g: M3 E, A/ l1 l) D7 L
14
+ p. K: L/ c2 b15- \1 S" p( O" r' J
16
1 K8 {; ?' N( a% E5 T; y1 Z* L17- W* d" r: k* c
181 H% W" h3 O6 A) F+ Z
19
" G9 s, L: d8 ~) V20
$ U3 v3 ?3 B V( p3 ]使用上面的代码,就可以创作出 油画 风格的夏天,可以看看 AI 生成结果。% h8 X; `: L5 A) ?# l5 q( _1 \* G
1 [% L9 i6 ]/ y5 I
2022-08-28 12:20:06,785 - model is painting now!,
7 a4 n9 u* V! \ Y! L" p- taskId: 1062408, waiting: 30s, S$ [$ A0 R) z7 i% _
{'imgUrls': ['https://wenxin.baidu.com/younger/file/ERNIE-ViLG/89df26b9853d837d331d626ffa62828fex', 'https://wenxin.baidu.com/younger/file/ERNIE-ViLG/89df26b9853d837d331d626ffa62828fi4', 'https://wenxin.baidu.com/younger/file/ERNIE-ViLG/89df26b9853d837d331d626ffa62828f5q', 'https://wenxin.baidu.com/younger/file/ERNIE-ViLG/89df26b9853d837d331d626ffa62828f30', 'https://wenxin.baidu.com/younger/file/ERNIE-ViLG/89df26b9853d837d331d626ffa62828fv9', 'https://wenxin.baidu.com/younger/file/ERNIE-ViLG/89df26b9853d837d331d626ffa62828fa2']}1 y. R& ~6 U; Y; `9 m: I
1
& `( Z6 Z6 K# |# G2$ l4 r5 p( f( g0 L# Y; D0 G4 K- @
3! x- }, b5 Q, Q* ~% y$ g
可以看到速度还是很快的出不多一分钟就搞定了。可以预览一下结果
! @5 B! X1 S: `9 ]- w! A( ^- M, r
2 g) G' f$ r4 ?, o" t3 M( Y! T! h7 q# l2 @$ k* t" Q% c
y; [8 s% N8 V, e2 \% d2 [, I# U1 n
1 g5 }* d* d# f- D
3 J* S5 a& \1 L- \* y, k; R& G( w8 j6 o! M+ T' ~! P8 ?, [. C
$ q! @/ s) J9 e" H- q$ G! l可以看到还是很厉害了,水平应可以赶上专科院校的毕业生了,但是作画速度那可是降维打击啊。5 e# c5 O; `! I. c' F+ x, s7 F7 ~
5 i# ]+ R3 h' \
使用 ERNIe-ViLG 搭配自定义的关键字可以生成 水彩、油画、粉笔画、卡通、蜡笔画、儿童画等多种风格的图片。" A/ s- m7 z* I) V. n
" e; W- D& U; Q5 O5 m可以再试一下水彩画风格的天龙八部 。3 h3 P5 m% Q# C: x% T# s+ w
" E: H3 ]) ?# B; I
2 J8 q, P ~- G' u- S9 b$ ~; Y/ a6 n S X3 f3 e
7 g2 a U) ?6 a- ]6 r; L
+ u N( | G. f
2 P7 x" U) r! W' x. r) ` ^' Y1 ], v0 }1 t" u
# h9 E0 p( I6 @8 A5 |$ I# b. ~
是不是还挺有感觉的。
2 z. k2 }3 r6 h5 ]5 F! ^" N& V2 N6 S$ p2 g. d
DALL·E 2
, `# I" [ d3 j# T当然,说到 AI 绘画,国外大公司也有很厉害的。比如 OpenAI 公司 的 DALL·E 2 。
; O5 A3 A$ J' s+ k G" C- D, Q5 U% r0 ?4 x: F% F
比如以写实风格创作一个宇航员骑着一匹马的图像0 L( A8 M: L. y6 V' K; D8 a
% ^. N- ]% @5 C) m8 e4 ]2 {9 M$ H# W7 ?( m6 U
0 l2 V3 {. h2 s
在换个铅笔画风格的
: `* A! k, G! R
0 Q0 B# N/ A" I
! N, r/ P, K8 ?1 r" W( K6 l! c1 N
1 x* S9 a3 n5 G' R; |使用 DALL·E 2 可以根据创作风格,更多关键字由 AI 创作出非常有想象力的作品。可以到 DALL·E 2 的主页查看更多更详细的内容。
( N2 m- H" d& e% J" U
- ^ s# ]3 [/ `6 p# A; c; X总结" N1 i# L0 G) f# O; J8 W' Y7 p3 }
其实用代码直接绘制图形,还有很多其他方案。比如大名鼎鼎的 MATLAB ,可以创作出非常精良的数学几何图形。
- S6 x* w; @" |, P) g# r$ G
5 n% @' L* I- c! t: ^但是比较一下上面的这几种方案,可以说 AI 作画的水平,一下子提升了好几个层次。创作需要的输入越来越明确,越来越简答,越发的人性化。但是输出的内容,却越发的开始接近甚至超越了人类的水平。4 x+ D8 l( Q# S0 c3 V1 d
$ N) T! c, a$ S1 z. k6 p
参考文档
! @* w3 [9 ~3 D: K" J0 _字符作画,我用字符画个冰墩墩/ `2 ] T- b6 I2 s* F8 |5 z) E
大家用Python-turtle库作图画出过哪些漂亮的树哇 ?
- |( q# K. s4 x1 s& _————————————————- `7 e( T. w' x
版权声明:本文为CSDN博主「阎楠」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。% \# Y- @- j' o8 A
原文链接:https://blog.csdn.net/TOYOTA11/article/details/126575202
% G0 k1 w! y7 d6 u' g# N+ W. Y9 Q- s) f. N9 ]9 a
3 b9 }5 a; }5 v |
zan
|