- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 569630 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 176112
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
如何用代码画出一幅好看的画
. w! v6 q* w J( d- Z/ P
. k' f! V% b, B" ?前言
7 P2 d! J- S0 g q9 c% [' C0 d随着计算机技术的逐步发展,借助计算机强大的能力进行绘画操作,已经变得非常容易。绘画作品的水平也是越来越高,下面就来看看用编程语言绘画,能搞出什么有意思的东西,相比人类的创作又有哪些值得我们思考的地方。
9 C5 K+ ~; W$ J. [
0 o" l/ r4 W7 l" ]7 j绘画5 ^# K/ [* r. }" p- a1 Q
用代码输出类似绘画的内容,最最原始的恐怕就是直接使用 print 函数了。' ~9 o1 Y3 U i; h2 [& t! j5 a
# p C- X# P$ Z& C' W4 a2 F
print 输出字符
3 z! d& P3 s ?& s" w! Xdef do_print():
, ^3 U' O: b) H print('''' w& o- S2 f7 g
6 }( R6 Z N0 x- \2 N へ /|
4 u/ Y: a& B$ c /\7 ∠_/
4 [4 M' u& \( J% p; z2 T+ Q / │ / /9 E8 }9 n8 c9 I) D+ z
│ Z _,< / /`ヽ
9 n8 B: s# i5 t( J4 ^1 d# C" Q7 g. N& V5 O │ ヽ / 〉
# w, l6 A: ^* `$ [+ I3 V Y ` / /
/ l2 ~, Z( d, x6 u( j イ● 、 ● ⊂⊃〈 /
* L" i7 {$ }8 Z8 g () へ | \〈8 ?: K6 Y) ]- z5 ?! ]1 Y
>ー 、_ ィ │ //
- H9 `$ `$ R' O / へ / ノ<| \\
4 E' G! U k9 }, Z) `2 p ヽ_ノ (_/ │// z) @! [/ M! c" F) J) {6 \
7 |/
- x& g S& G: d8 a$ b >―r ̄ ̄`ー―_& X1 A# x& _4 ^( C4 q! @
''')7 g7 w& g8 J4 v" E. s# r
1$ ^5 v; K- F, m, @) M. k/ y T
2$ j& P) p/ X" G6 c- f
31 I; }7 S5 H! D I6 l" R
4
: b Z3 r* |6 V& K5
# N5 W6 G. V2 ]* T6
( q* {6 |$ q: i6 O7 D* r" H( ?9 Z, q2 _
8
& K$ t/ Y- }, m4 S3 G+ z) w( ]4 M9 N) |3 O6 D3 f4 t, f
10
( B* N! n% P' D11
0 X1 @+ Z7 j8 y12 ~ r, B5 \$ W3 A
133 _8 m# P: _: h* s$ E# w% d
14
* h3 x* f! I g# u9 M15
; T0 }# H3 m# I4 e4 ^: C Z% G- ^16
' h6 H2 R7 d9 a' d17
: E7 l4 I9 t3 p0 O, v6 ^; q5 `这个方法执行后,就可以在控制台看到下面这幅可爱的皮卡丘画了。
+ h, T! D% q! E1 Z: j, R
( h& x C7 q% ]" S% c: O9 C2 Y8 ?0 M2 d$ i
8 w# @2 w) ?1 X a' C$ o6 ?1 f这种做法,可以说是完全没有什么技术水平了。想要画什么内容,还得预先编排字符,太麻烦了。于是便有了升级版。1 m( Y, U% I5 B' i% ]
% k) B3 R! H' W图片转字符
8 s& ]7 v# W1 s6 v5 M2 n6 H这种用图片转字符,看似没有什么意义,但其实有时候可以创作出意想不到的作品。比如前一阵子的顶流冰墩墩。
" c5 v' s4 p- Z
1 q3 Q% \1 H; W. O1 w: K+ }
0 W5 W' o6 k2 F6 D( c! |/ i7 p' t% Q! k9 ^9 d q( a2 z' i
这种做法的思路总的来说,就是把图片的抽样图片的像素信息,然后将像素信息中关键的亮度信息用特殊的字符串进行打印,效果就是我们最终看到的样子。
2 D& u9 ]6 V) Y! k/ q9 _
/ w: I) f8 A5 k4 C% lpublic static void printImage(BufferedImage image) throws IOException {% Y- G9 h$ l0 [+ D$ A, v
final char[] PIXEL_CHAR_ARRAY = {'W', '@', '#', '8', '&', '*', 'o', ':', '.', ' '};4 | I: J1 Y7 i) a& U
int width = image.getWidth(); V" ]$ [" r$ A& `
int height = image.getHeight();. Z/ X- e+ Z- s3 O! @1 h' @. ]( e
for (int i = 0; i < height; i++) {
; p1 A' H1 `$ R9 `1 @1 q( [ ]9 S for (int j = 0; j < width; j++) {
- n0 h& T; L# ]7 o) E- ~/ v int rgb = image.getRGB(j, i);
- R5 B+ X, v. p, S* ]: X2 D Color color = new Color(rgb);
9 f% ^( _: D F- ` int red = color.getRed();
% ]9 x% }3 f1 N4 b% n int green = color.getGreen(); I4 U+ r4 W0 j) ^5 h3 u3 U
int blue = color.getBlue();; Y7 j; I4 V3 V* V
// 一个用于计算RGB像素点灰度的公式+ [1 _, p1 p! ]8 Y' S# P
Double grayscale = 0.2126 * red + 0.7152 * green + 0.0722 * blue;- S. A2 l7 i0 B" G" g% @
double index = grayscale / (Math.ceil(255 / PIXEL_CHAR_ARRAY.length) + 0.5);: a1 L7 I/ u8 G# l
System.out.print(PIXEL_CHAR_ARRAY[(int)(Math.floor(index))]);
! U" r, t9 N9 P, N }
" C% I8 ~' z+ g1 A% r4 u* @. C System.out.println();* o8 K3 \/ A' Y1 z9 K6 C
}- M' c8 ^0 G' K7 h4 a. T( X
}
; j; s& ?9 V0 G7 ^+ d: ~/ m7 r& f5 ^2 w, Z* f/ Z
1
8 C7 p z. O; A2 [# O6 T26 m3 [* T; q, O* N) }* j
30 G: S+ P' f- s
4& t# u% g) o+ C- i7 \
5
; I: r9 D( g" v6 L4 ~6
# ], [5 a5 |$ E3 K# O( z/ Q7& }9 L- R: A7 b) _. f
8# X, p+ L. |" Z: M
9
1 _. B0 z- D( g. T! w10
+ r* l; c; F" O' D6 _1 Y" u4 O11
* ^- F: Q( T( `, U/ B5 _12$ E' q' U6 t/ j! q
13
, S3 o- L' h$ h: D14
4 ~6 a% h# Z% P152 ?1 r! Y3 U) L; ]" _( a
16
) c) y! y0 o+ l. {. C17
6 ?- |6 v6 P. p' J& l18
3 j* }4 b9 C) R19! C: v% [+ _; D% R& U+ l' @- c
更多具体实现可以参考 字符作画,我用字符画个冰墩墩 。
: q/ d% w. Q0 w& S5 H8 f8 l/ a. n8 f3 w/ J
使用 Python-turtle 库作图: V! W$ B" s2 L$ k7 o8 w: D
下面这几幅知乎用户的回答,可以说是非常有水平了。! l$ E, @% N. m. s4 S! V+ B
, q( D/ Y; W/ y* Q8 ^
9 E+ X6 ]. Z. |- z5 ^
+ q+ \, r% L" s) Y% c3 k. t
import random: |0 \8 ]! Y" i
import turtle
. ]) H) h8 w+ xfrom turtle import *8 d" G1 Q, ]" X; W
4 o T& V+ _* @/ Z1 V2 \: [& b) rt = turtle.Turtle() f0 V, {* v' F/ k* H5 \' h
w = turtle.Screen()
" {! u* ?( ?; r! h. X5 ~5 I8 |6 c/ f4 l' m$ r# W- n& m
X7 @. ?' R% n7 B' i9 }def tree(branchLen, t):
+ x, h/ C, M' P- S if branchLen > 3:4 M( j; H+ m- w$ U+ c! h' r
if 8 <= branchLen <= 12: U+ i4 H; z C& R
if random.randint(0, 2) == 0:( e3 o7 \# e3 `4 ^
t.color('snow')4 k S" Z: L( }7 e7 e7 g& O
else:. }1 o0 v/ y% |# ^. V
t.color('lightcoral')
* v% ]0 ]- ^9 @1 z! @ p- i t.pensize(branchLen / 3)
: y( |1 m" C0 H3 K/ v7 @; H elif branchLen < 8:0 S7 o, R" v! O* ^) ^3 b
if random.randint(0, 1) == 0:# K7 }# A1 x- _8 `$ D1 W3 I
t.color('snow'): F3 m9 M5 {# o) f
else:
( g3 m' `' V9 S( b5 Q6 q! q t.color('lightcoral')4 g- L5 U0 \) m
t.pensize(branchLen / 2)0 v$ F% y) U# G# L
else:9 J' B7 b- {" c4 P
t.color('sienna')
& U: m% I- J; t, Q' J t.pensize(branchLen / 10)
8 \2 N, r9 `% A i6 c
/ [: A4 _ z: K t.forward(branchLen)
# \! y- l: C/ ?9 N# ^$ A- d a = 1.5 * random.random()
9 N' U6 _" r4 p t.right(20 * a), }/ }) l N! q8 [. H
b = 1.5 * random.random()1 A( Z" w2 Z$ b! P
tree(branchLen - 10 * b, t)
) c5 g% n! h/ N; ?2 y t.left(40 * a)! |0 y1 J3 l: k! F! D/ }
tree(branchLen - 10 * b, t)
7 g' T8 c! r! `6 z$ S% O+ q5 p5 T t.right(20 * a)
4 y X0 ~" r U* z) `3 \8 L t.up()$ z/ r- F \6 C! P9 ]/ q
t.backward(branchLen)
9 K/ f6 T T7 Y f2 N t.down()( e+ ^" U8 W3 i( D; Y2 q) z+ ?2 R" d
0 ~; b( q8 b+ @5 m4 c. W9 n2 y) E. U
def petal(m, t): # 树下花瓣2 Y/ P' C- |/ T- I
for i in range(m):
' I* h, R- l3 \: ~* B1 G7 X0 z( K a = 200 - 400 * random.random()
. _. L7 z3 o: m b = 10 - 20 * random.random(). o" e A: i& K
t.up()6 n' m3 h, c! j. T; u) b
t.forward(b). K4 ?$ ~3 |/ l% m! h3 Z0 _
t.left(90)( P% k9 n: a' E& p- \1 F
t.forward(a)
8 x; Q5 ^* U, x) C7 y0 }& f t.down()& B% R, M. ]4 V) v
t.color("lightcoral")* ^9 m" P: M9 V5 x% H! h
t.circle(1)4 O9 m& A* f4 ~6 K7 d8 X4 O
t.up()+ ^1 W& K" a) r# u4 M: ~+ W2 I' L
t.backward(a)
& J" `) g5 L( P& { t.right(90)0 ~3 P) [9 b3 _
t.backward(b)
, @9 H o5 c1 A) S; j6 o/ {. s3 ?- Z5 v/ ~; ?- F S9 h
# J3 G1 y. o1 |2 }, J
def main():- {& _9 H$ y. D3 Y9 \; l
t = turtle.Turtle()
6 `) u% `- g; h myWin = turtle.Screen()8 q( P, g" Q- T3 t# g* K" `" W
getscreen().tracer(5, 0)
: M, B. N6 K2 G2 }3 x9 O turtle.screensize(bg='wheat')2 u1 C3 n! z+ i; U. J
t.left(90)+ a1 e$ j' [9 o2 M
t.up()4 O$ q! h, {5 [; k7 C
t.backward(150) D6 y w3 N8 r
t.down()/ H+ X. L6 `! J# ]* c
t.color('sienna')
) V9 K6 V/ k5 a+ l( s tree(60, t)
" B& [) A' z7 n: g8 G# a* R( O9 y petal(100, t)8 ?- i; G4 p2 K1 n' b2 _6 x( E
& a6 r4 D: [" | myWin.exitonclick()
6 m4 w4 I- V* ?/ p5 v1 H9 y ~! J
$ U3 V5 f! S8 t/ F( o# B6 m1 G; }
if __name__ == '__main__':
5 A$ }# N8 [8 v8 O main()
; Q+ }( r( _ d n9 O8 e5 t9 ?0 b( O7 |5 X4 @1 O2 W
+ v7 Z9 p8 u% D, m; @
1
6 x+ ^6 f4 H( l2
3 `# y, n% S: F+ `# L1 [* Z/ n3
) C/ Q% s( S4 y8 ]- K6 { w7 u4
6 j. @( o: W9 W5 w, O- H2 Q5
" o( J9 `, F) C+ B6; }, x, K( ?: N5 ?3 Z* ?; y# F
77 k5 Y" S7 N: \" G
8
6 ~1 w( a, ?, Q8 `- K9
) `1 |' y* ]! x8 i; _104 E7 _' Z% r7 E P2 d
11& [- c9 s8 `, S0 |. Y1 h
12& v; x9 e1 c! k5 ]4 }& x
13
" Y T& R9 b6 N/ ^14
8 N% ]- p/ @" h; p. B15: m. l" G) I5 c/ @! o, d
16; S' _/ d% \6 d6 a) s- X1 i
17
0 f$ L, |5 y2 p$ d, k1 ]18$ H6 m' Y. T: y. k' f
19
1 k' `' T' F7 @6 }. W20% Y9 ]! J0 }; F: K- B/ v; `* @
212 b4 a, U( h/ ^
22, p9 g8 Q% r/ H& Z+ @5 [* Y' q( P
23
5 }6 F+ E" q6 Z: W: \24
& _0 c/ j# _5 I7 q/ g, f6 o25
: h& S3 c: x* e& C26
& V# o) m: I N8 D27. b a$ D7 a- e' R
28, j$ g/ {& V% G% }; L9 T" @
29
X" C/ b' x" X7 U" V2 F304 m+ _ f8 F, H) h4 q
31
/ I: m) p' o9 ~2 S32
@: Y2 ]4 y% m" q' K33& E1 y1 R# }1 t4 F( ~
34
; t2 N7 a* @5 k* P0 j$ R& ]35
5 v% x/ w1 H/ {5 X36* b+ E: f" F% U, d2 o _8 a" u
37' R7 T' U1 y5 Z/ S) V+ c
381 l% A5 l5 G/ q; ?$ \
39
% _8 @# p7 \+ y2 S$ f3 M: ^. H" M( r40& n5 g- n) ?) n. p+ i, @6 v1 }
41
9 N2 b& k% h. O8 r42
1 ]4 D* \( G4 z: A3 S1 C43
& z& `# O6 T6 Q" h44
% r' T- Q( _2 e% U& `, E45
& t9 y b% T& _5 h2 i46! f9 C2 L' {2 x( ~* L
478 d0 l1 W% l! A! t2 h
48
% w. |, Y$ V I4 F+ |. f% B( I49
5 h4 Y$ c/ }4 ~6 o3 S3 G. j' M50' z- d9 ~4 y+ J' E# h3 u b% ]5 J
516 Q0 T& ]8 _; N. v m, d# y- n+ x
524 h8 b9 K( B9 J, p; G' \
53
4 r% ]7 t1 J% N54! m1 e% l L" ]0 Q7 T- o
55; i0 I8 r: p0 z- `- P
56
9 t5 z, Z- O. X/ F. t6 `576 c# t3 G& z$ B" x3 G
58) H% m l/ j5 n: N' a# i
59
7 u* Y5 c5 D& O* h7 N0 ]! X6 ?60
; J h( r; R, Q: E; l% V61
1 O5 q3 }3 F; |2 o* P62: }* w7 a& c ^. f- Z+ p1 I$ b. a
63# i$ k8 } t5 @3 b
643 t' F1 \3 w `+ K/ |
657 F, Q1 q& S) B% I8 J V7 K
66" f2 e2 z+ M1 y( U) m
674 J. o! b( b' ], {" R
68
; [3 w, F: B' U5 B j1 `1 B69
/ |- e6 }+ n- x& \- j705 K, ?4 d$ N9 l+ a
71
6 g3 _, }& K: k( h1 v8 i72! a. S+ D- s' ^% H9 ?
73
: N) l% \9 j) `$ ~7 m74: ]6 H% }& ^/ r/ J+ P9 s9 A
75
3 D" ?2 v/ t' ?) ] e' i8 U, U
* ^! ^3 _- Y7 i! `5 {. k6 q; |* Y0 Z0 q3 d+ U8 j
6 L2 S8 Z" h/ v" l可以看到,使用 turtle 库加上强大的数学几何知识,可以创作出非常好的看图像。更多内容可以参考 这个问题
! ~3 V7 [6 V8 R a" v% r( W* g
7 Z8 I/ D( _8 H7 I9 F: ^3 e使用 AI 作画! V# O( m z$ {9 o3 t! S
ERNIE-ViLG文生图
5 a* B* L* g, M- L2 f, l使用以上方案绘制的内容,一般都比较刻板,缺少一些人文气息。少了一些人类才能有的特点。但是随着 AI 算力的提升和大数据的逐步发展,已经有很多可以使用 AI 进行作画的平台了。 比如 百度飞浆文心大模型 ERNIE-ViLG文生图 平台。
# @! e4 o' P( ^, e9 t F# g
, S' k: I# Y# \# ~. ?import wenxin_api. g' U3 S9 U& X+ S% u
from wenxin_api.tasks.text_to_image import TextToImage: r- s% x) L' b0 ^
import secret" K0 c5 A4 t/ ~% ~
7 u3 \% R7 `* m6 ?, N
9 E: d! D) U6 Q% U- A% d4 V! |
def draw(t, s):
9 K& X _# s1 r wenxin_api.ak = secret.ak
2 n7 s* u+ N& J! @ wenxin_api.sk = secret.sk) T4 n1 |3 L6 c
input_dict = {7 |, F t" n4 }' F7 F
"text": t,
( g: z2 }) @' E" z; S( i% Z: T "style": s
8 U& O3 M/ O# C+ S5 }/ p) i }5 m$ C$ C4 {& C/ E/ A i
rst = TextToImage.create(**input_dict)! K: K' W& m% j% N2 W7 K
print(rst)
+ `3 _; n7 ]: P2 C
" `/ |* ]: b0 r7 b1 l$ a( a
) Y9 y( E$ J$ s) E$ O4 Pif __name__ == '__main__':
) V& t* `+ a& E: O) f& t1 I9 r( { text = "夏天") S8 G6 P( a5 `1 P
style = "油画"
/ ^: K$ i( q8 c draw(text, style)
; Q- E& a8 u9 t! N: A6 m4 }8 P7 u+ A/ \
1& C! Z( i/ }3 I) B* G; x+ ]% X
2
& a% J. q5 u8 E! b3 }35 @0 p( `9 A' J/ [" U# b& Y; _
4 a3 E- p3 J$ z) T# U% v, o
56 S* w- ?4 x% o" I9 Q2 [1 B+ c
6
# a" \6 G0 }$ d* `3 r8 p7! p v) t- ]6 H- e" {
8
6 I$ c2 N0 G6 }3 ]8 C# ?2 m9) i/ J+ B7 E$ \ s- R; C5 d
10; y0 F" o- M& G/ \
11. F( d( ?1 N: v/ S9 i9 t0 L; k% w8 t
12
' R( a6 ^5 w2 w% `* f9 i13: U, i. T0 @3 z$ s6 y4 [9 a% Z+ a
14% g$ [0 J5 g2 q+ H* L
15
- h7 D# {. P/ t z/ s16) O8 j/ A# n6 `6 Z: g' o# q+ V* t
17
1 P4 E6 X& O2 w/ _/ ^5 \+ h189 W- S& {( F/ \. I% n, g
19
; O$ H, R. L: m& K20
/ W3 r- \( V% j使用上面的代码,就可以创作出 油画 风格的夏天,可以看看 AI 生成结果。 F% n/ q# R2 Z% X5 i
, [$ k& f$ E! I% j' X$ e, c2022-08-28 12:20:06,785 - model is painting now!,
8 s9 q0 i% h: w& i- taskId: 1062408, waiting: 30s
5 b0 e: |' O; h/ _; c9 {6 z- x{'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']}- o4 Z- |7 k, {, K
1
1 ^' Q0 D( U2 M1 R" U2$ Y- a. R, {. Z2 a7 o0 l$ N
3, r/ v2 T" Y) M3 h
可以看到速度还是很快的出不多一分钟就搞定了。可以预览一下结果- J* o' J6 R3 @0 X
) \3 U& N, O" t1 w4 o
) U- B; g1 G9 {2 q
: E/ [- @: f' X* K8 N$ G% e1 k3 M3 W% N0 q
8 L- D: F& z! M* ?
9 K: R+ G; }# [6 m
! \! d% _; g. G% F9 A# ]) Y" n# f
可以看到还是很厉害了,水平应可以赶上专科院校的毕业生了,但是作画速度那可是降维打击啊。
' B& d X: ]8 l8 T' Y& w3 X! l2 X H4 v5 ]0 f
使用 ERNIe-ViLG 搭配自定义的关键字可以生成 水彩、油画、粉笔画、卡通、蜡笔画、儿童画等多种风格的图片。5 o' m# v. v+ ] y
; @# ~! Q5 V" G" C: Z可以再试一下水彩画风格的天龙八部 。
5 T/ p- j1 g8 o y5 O4 N
. [( r4 u( }/ M% p' U3 `9 y F* A
/ {5 _& }$ B; J" W0 ~% g9 E# A* Y" s ^# ?! B1 k
* w) C6 B) F4 b7 }, m& W
7 C3 ]+ |5 F, U7 o' f" \4 E: p) X" n3 n3 r
! p5 K9 k' v7 i: R. e
% r Z# C- `% g" d' X
是不是还挺有感觉的。
3 k+ n4 k" ], d7 q/ Z. K4 B4 ]1 `$ @. E* p) X/ V0 X
DALL·E 2) K7 T0 d" h9 ^1 P: n! B. ^9 I
当然,说到 AI 绘画,国外大公司也有很厉害的。比如 OpenAI 公司 的 DALL·E 2 。
# \4 ]; z& _2 X
9 v/ g7 F. Z0 K/ i6 D比如以写实风格创作一个宇航员骑着一匹马的图像
+ g8 v& n4 ?9 }2 p; \! o) N$ d- h0 p8 Z9 s' j" O
9 K7 o& s o+ j- G: _
6 x5 _5 r+ ^3 `! t* Q2 K! v
在换个铅笔画风格的( A# p, s* R9 J- b
; v+ e2 u* q' `, N* V" q' f4 x/ U4 a# I
: a' E# k7 n' ^0 R# S" P) ~, _4 D* O使用 DALL·E 2 可以根据创作风格,更多关键字由 AI 创作出非常有想象力的作品。可以到 DALL·E 2 的主页查看更多更详细的内容。0 T5 e# r+ G q7 W: C8 q: K. N
0 A9 h: K# G+ c7 B2 t- U8 ?$ [总结9 D# l7 ]9 P9 c. B" l8 t8 Q
其实用代码直接绘制图形,还有很多其他方案。比如大名鼎鼎的 MATLAB ,可以创作出非常精良的数学几何图形。
5 |2 h. B4 u6 n; b4 c2 | v0 J# w8 Q6 d
但是比较一下上面的这几种方案,可以说 AI 作画的水平,一下子提升了好几个层次。创作需要的输入越来越明确,越来越简答,越发的人性化。但是输出的内容,却越发的开始接近甚至超越了人类的水平。
+ _4 G2 U7 U% k/ l: K: b' _& ]3 U k5 i' u6 ?3 a; L) n
参考文档- e+ n) c0 L- s
字符作画,我用字符画个冰墩墩9 h& h, {: A+ h( G7 ~& a0 n6 t3 ~0 h
大家用Python-turtle库作图画出过哪些漂亮的树哇 ?3 o1 L3 [) C3 a6 b8 y
————————————————
7 `1 O' l5 A7 N& Y* q% C+ Y版权声明:本文为CSDN博主「阎楠」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。/ O: E2 R+ W; h3 |, u
原文链接:https://blog.csdn.net/TOYOTA11/article/details/126575202
' F! a; V, d# W S# {! E- A6 M' r+ P5 y: n1 s
! l# A% Y, |+ ]# s
|
zan
|