From 5c071b3c939a2fabca49a31dcb53f519abccf8d3 Mon Sep 17 00:00:00 2001 From: AsparkArcane Date: Sat, 12 Apr 2025 19:03:37 +0530 Subject: [PATCH] Nathan --- Answers_Nathan/README.md | 4 ++++ Answers_Nathan/Task1.png | Bin 0 -> 2363 bytes Answers_Nathan/Task2.png | Bin 0 -> 87 bytes Answers_Nathan/Task7.py | 40 ++++++++++++++++++++++++++++++++ Answers_Nathan/Task7_Nathan.png | Bin 0 -> 11697 bytes Answers_Nathan/task1.py | 20 ++++++++++++++++ Answers_Nathan/task2.py | 34 +++++++++++++++++++++++++++ Answers_Nathan/task7.png | Bin 0 -> 4285 bytes 8 files changed, 98 insertions(+) create mode 100644 Answers_Nathan/README.md create mode 100644 Answers_Nathan/Task1.png create mode 100644 Answers_Nathan/Task2.png create mode 100644 Answers_Nathan/Task7.py create mode 100644 Answers_Nathan/Task7_Nathan.png create mode 100644 Answers_Nathan/task1.py create mode 100644 Answers_Nathan/task2.py create mode 100644 Answers_Nathan/task7.png diff --git a/Answers_Nathan/README.md b/Answers_Nathan/README.md new file mode 100644 index 0000000..2323722 --- /dev/null +++ b/Answers_Nathan/README.md @@ -0,0 +1,4 @@ +Name: Nathan Julian Dsouza +Reg ID: 241080016 +Branch: IT +College mail; njdsouza_b24@it.vjti.ac.in \ No newline at end of file diff --git a/Answers_Nathan/Task1.png b/Answers_Nathan/Task1.png new file mode 100644 index 0000000000000000000000000000000000000000..1d3522caf33cf916aed94c1878960822c44a3dad GIT binary patch literal 2363 zcmeAS@N?(olHy`uVBq!ia0y~yVEh8Y985qFmn|N585lU3JY5_^Dj44$T)0+_MWo?k z^Eknm|pVEdHl>0slO8J~aNGMblRdyXl?olRF6 z3QmVHAJ82Z0()%iYpm}7v18D`|N8Hz-F5TC(^fM+n6{R!A$pq>L*C6Sh8?LxU7+px z&AO^u`N#3^388*2Jp4a@{=6z1wg+=*kVJ^jQjPtG--R7E ze&chPJ%{=sh&5Y3oLP7C=c2}$%kR4L(jsKB7n*x=t#6wgsHQ==dZ0aX{x)~!`pv_t z$Q}&UkN$;sR~Y^r{bx~YYjd0im0`^HE&ly-pDzw*4rIKycy8u{x3{QYQ4n7W(4a1U a>TjjWQQUoA#0uCbV(@hJb6Mw<&;$U3}0VEi>K6RA7URZrC5W_mdKI;Vst01ZSIpa1{> literal 0 HcmV?d00001 diff --git a/Answers_Nathan/Task7.py b/Answers_Nathan/Task7.py new file mode 100644 index 0000000..730a6d7 --- /dev/null +++ b/Answers_Nathan/Task7.py @@ -0,0 +1,40 @@ +import cv2 as cv +import numpy as np + +#Just to get the dimensions +img = cv.imread(r'H:\Engineering 2024\Coding\ProjectX\Tasks to be done\OpenCV-Clone\Answers_Nathan\task7.png') +print(img.shape) + +height = img.shape[0]*3 +width = img.shape[1]*3 + +img = np.ones((height, width, 3), dtype=np.uint8) * 255 +img[:] = (255, 200, 173) + +#ground +cv.rectangle(img, (0, height), (width, height-20), (0, 100, 0), -1) +#house +cv.rectangle(img, (width//3, height-21), (2*width//3, height-200), (0, 75, 128), -1) +#door +cv.rectangle(img, (width//2-30, height-21), (width//2+30, height-100), (230, 255, 255), -1) +#window +cv.rectangle(img, (width//3+10, height-150), (width//3+60, height-100), (230, 255, 255), -1) +cv.rectangle(img, (2*width//3-60, height-150), (2*width//3-10, height-100), (230, 255, 255), -1) + +#roof +pt1 = (2*width//3+30, height-200) +pt2 = (width//3-30, height-200) +pt3 = (width//2, height-280) +cv.circle(img, pt1, 0, (0,255,255), -1) +cv.circle(img, pt2, 0, (0,255,255), -1) +cv.circle(img, pt3, 0, (0,255,255), -1) +triangle_cnt = np.array( [pt1, pt2, pt3] ) +cv.drawContours(img, [triangle_cnt], 0, (10,75,225), -1) + +#text +cv.putText(img, 'My House Eh', (width//3, height//2), cv.FONT_HERSHEY_SIMPLEX, 1, (0, 0, 0), 1, cv.LINE_AA) +#Sun +cv.circle(img, (width-70, 100), 30, (0,245,245), -1) + +cv.imwrite('Task7_Nathan.png', img) +cv.waitKey(0) \ No newline at end of file diff --git a/Answers_Nathan/Task7_Nathan.png b/Answers_Nathan/Task7_Nathan.png new file mode 100644 index 0000000000000000000000000000000000000000..60e83544460bfc5c63aae0e27c22d3d49c8fb14e GIT binary patch literal 11697 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

@dz>AIJ{{LI!)06$GS}i^%>6@3jg=)a zZ8ZJiF^cj$uv(AHuV%cmxJOW7l6&K7k_yQVEKI+O^Yhtj4t~`S&xPnluVBy6DBb17 zniRwqlk;-7i$}!Bh4Rw%$dPbVeXF2kGJKJzJ9YStg4!WL+T+bLdV4`{I8*@|Jggd)MNmn|8^9SCu=izm&3V{{hzMjeXhC(k81HDqGjC_AqwsEpm6W-cv_Qkz z>ZEYT-vpr`RI_^XCrueBvu~0QZ)CeaV8^cK~ zqc61^H?^eO@PX~@@nW*nEu1Dk3zTQ-4VBx4VNYZ)5FV`Qd2(R(ldWe&lg!tK z*#4KWldA%K-B1N=dLu#8u8S7s+Zn3_$c=%Q290U|-A8%Y>YXVHk>Ie}D$;oq9V54LUHFb}KQ3Ov&!FtD1SS#*nI z6aO$6cdv7IucO~NP0Y`@mDx9&G?|j5lU@3*YW16AjPSlWG!ff(`K_T^FjJN|97T{6 zgqm=r7Pf3PoS^hXAP$a$5hs}>aGO;qzm+l$?Tk~!Oti#fyA7?%*4ZJAx6bvL3+$9~ zR@m_d!xFS?bRv}$S_cZW@TT`J{QsX%sc=o`VT_Xhq zex9J0>NQ7tJ?fH-tV!%wb)=BG4kU2C*?8{VYgG9w5_hLkijW>>jHZSnrg1oQaUI^R z9)~5DaZ~id+g~NcWc6JX6ieL*jE<_4RBs53}`?iudP;P*}RfaP^NZMbTcPqX29#Ef& z1efw^govY-RPqLa`Ab4a7|`Q2saQ@UGq~(zUzP;RXmW^a=56fvX_H3RLcSp63C#+Z zgAH?7xiyyIGtV9tB17tBR(OERgJP+$;SKhVpSZ{>q)Z&hn`g1XA)eHJ0WM zs?q~nFS0M?^^^mKj15o}MqB@9{g5DP9P-L&V(uQ5j(xpYL#U(+=dop}^OIZ@K9oM_ zMJ{57Q0@B3ni%5%Jg43{H-vq}L$?a3K9SPh=3GAg{+3tInTWxC>9A$0zC8aX15SVW zuzP3IS@`j!HWFyLqxX|Kx^`wFudgK)PPO@TsF2E#s#G$&I0@qwPS%qR!IC$mcC%mK z@^nNL{yV9S_XHK-2A>PW!5fm}20_SLvJYLO&&{mpUF95-He1&j8x|Q$5&+6A4)o8U zg>(rX>o6l>NBE6p(GNlf70jH3^tmx(Bj&U@Cog*(QamJRB^q~-{6qbI949fvJ+QYS zC^~DbASebsKkgrhou((Jgn^Fqp5`cj{2e=eFCgfBy!+MXh#syf1L+`jp8_6WkxwV`mOJc7-PG=3G}P#6zqxIG?q ztd6;k^^@_Mon7DmD6(=^4CgXqffxPX}>dcL=>4s_b7rR$6*p4Ca2i0z6q&S723 z)<)0k;8`ob3_PoqLdrrq%L|@_)o6Q66p(N46~kVqJem%Up-1=FdQBiBr@*L$BDRKQ zXJ#8J8_)jvE@WfDwD9NE9zg-~i#34o1_jLe< ze>9jGSVsB5HM~Jw*Ae#7yeG={HK32K`0+d;yG=xem0K*0a>*7oNUn3BWd^gDVufCw zAw^MZDynv#5kb}WfQCO^1a)xeTD=o^8PK4yE&P{`i(DelbQK&x;qQtXs0AKJry}_Uq9=GiZ4@*9j7YRk8nU1$UT-zKPv*}c(ARX0bAC8z&I&Nh(%X?_*R=q2lf z@?wMN8EZFjkfXi66KYoicG(}cGdZU4yS#AbR=h5|>gYjPiJ{9vrQqAOpx^ptgl|UR zci!KS@C^yykgza_{vX1j=Lh(`uzKZo_-(Pn#S`#j;==!^*#*8W_F58i0c>_HR}cfA u78h^ST?{`%-siInes_HHUqZ;i%R0ri+b?Un1wO?VG2dfpn)Q?G#s37sEri|x literal 0 HcmV?d00001 diff --git a/Answers_Nathan/task1.py b/Answers_Nathan/task1.py new file mode 100644 index 0000000..b0ca736 --- /dev/null +++ b/Answers_Nathan/task1.py @@ -0,0 +1,20 @@ +import cv2 as cv +import numpy as np + +img = cv.imread('H:\Engineering 2024\Coding\ProjectX\Answers_Nathan\OpenCV-Clone\Answers_Nathan\Task1.png') + +def apply_grayscale(image): + gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY) + return gray + +img2 = apply_grayscale(img) + +count = 0 + +for i in range(img2.shape[0]): + for j in range(img2.shape[1]): + if img2[i][j] != 255: + count += 1 + print(f"Pixel {count} at (", i, ",", j, ") is not white.") + +print("The number of non-white pixels in the image is: ", count) \ No newline at end of file diff --git a/Answers_Nathan/task2.py b/Answers_Nathan/task2.py new file mode 100644 index 0000000..7b761c0 --- /dev/null +++ b/Answers_Nathan/task2.py @@ -0,0 +1,34 @@ +import cv2 as cv +import numpy as np + +img = cv.imread(r'H:\Engineering 2024\Coding\ProjectX\Answers_Nathan\OpenCV-Clone\Answers_Nathan\Task2.png', cv.IMREAD_GRAYSCALE) + +morse = '' +for i in range(img.shape[0]): + for j in range(img.shape[1]): + if img[i][j] == 255: + morse = morse + '.' + elif img[i][j] == 0: + morse = morse + '-' + else: + morse = morse + ' ' + + +print(morse) + +def morse_reader(morse): + morse_dict = { + '.-': 'A', '-...': 'B', '-.-.': 'C', '-..': 'D', + '.': 'E', '..-.': 'F', '--.': 'G', '....': 'H', + '..': 'I', '.---': 'J', '-.-': 'K', '.-..': 'L', + '--': 'M', '-.': 'N', '---': 'O', '.--.': 'P', + '--.-': 'Q', '.-.': 'R', '...': 'S', '-': 'T', + '..-': 'U', '...-': 'V', '.--': 'W', '-..-': 'X', + '-.--': 'Y', '--..': 'Z' + } + + return ''.join(morse_dict.get(code) for code in morse.strip().split()) + + +print(f'The Morse Code gives us: {morse_reader(morse)}') + \ No newline at end of file diff --git a/Answers_Nathan/task7.png b/Answers_Nathan/task7.png new file mode 100644 index 0000000000000000000000000000000000000000..955205bc9724c06157b282751ddb53e8443949dd GIT binary patch literal 4285 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 literal 0 HcmV?d00001