Справочник Программиста
6.29K subscribers
1.35K photos
387 videos
64 files
1.71K links
По рекламе - @it_start_programmer
Мои курсы - @courses_from_it_start_bot
Сайт - https://it-start.online/
YouTube - https://www.youtube.com/@it_start
Реклама на бирже - https://telega.in/c/programmersGuide_1

Предложить идею: @it_start_suggestion_bot
Download Telegram
#ПрячемФайлыВJpegИзображениеСПомощьюPython
Код из видео:

Прячем файл в изображение:
with open('photo.jpg', 'ab') as f, open('start.zip', 'rb') as s:
f.write(s.read())

Достаём канал:
with open('photo.jpg', 'rb') as f:
content = f.read()
offset = content.index(bytes.fromhex('FFD9'))

f.seek(offset + 2)
with open('newfile.zip', 'wb') as s:
s.write(f.read())
🎉2
#СъёмкаВидеоНаВебкамеруСПомощьюPython
Код из видео:

import cv2

cap = cv2.VideoCapture(0)
cap.set(cv2.CAP_PROP_FPS, 24)
cap.set(cv2.CAP_PROP_FRAME_WIDTH, 1280)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 720)

codec = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('output.avi', codec, 25.0, (1280, 720))

while True:
ret, frame = cap.read()
cv2.imshow('Web-camera', frame)
out.write(frame)

if cv2.waitKey(1) & 0xFF == ord('q'):
break

out.release()
cap.release()
cv2.destroyAllWindows()
👍2
#ДелаемКартинкуКнопкойВTkinterPython
Код из видео:

from tkinter import *
from PIL import ImageTk

root = Tk()
root.geometry('300x100')
root.resizable(False, False)
imgWatch = ImageTk.PhotoImage(file="watch.png")
btnWatch = Button(root, height=70, image=imgWatch, font='Arial 15 bold', compound=RIGHT, text='Часы')
btnWatch.pack()

root.mainloop()
👍8
#ПростаяВизуализацияДанныхНаКартеПоКоординатамСПомощьюPython
Код из видео:

import folium

m = folium.Map(location=[58.001645, 102.694781], zoom_start=12)

tooltip = ''
tooltip_2 = ''

folium.Marker([], popup='Усть-Илимск_', tooltip=tooltip).add_to(m)
folium.Marker([], popup='Братск_', tooltip=tooltip_2).add_to(m)
m.save('name.html')
👍3
#СозданиеАнимацииГрафиковPython
Код из видео:

import numpy as np
from manim import *


class Example(Scene):
def construct(self):
axes = Axes(
x_range=[-10, 10.3, 1],
y_range=[-1.5, 1.5, 1],
x_length=10,
axis_config={'color': GREEN},
x_axis_config={
'numbers_to_include': np.arange(-10, 10.01, 2),
'numbers_with_elongated_ticks': np.arange(-10, 10.01, 2)
},
tips=False
)
axes_labels = axes.get_axis_labels()
sin_graph = axes.plot(lambda x: np.sin(x), color=BLUE)
cos_graph = axes.plot(lambda x: np.cos(x), color=RED)

sin_label = axes.get_graph_label(sin_graph, '\\sin(x)', x_val=-10, direction=UP / 2)
cos_label = axes.get_graph_label(cos_graph, '\\cos(x)')

vert_line = axes.get_vertical_line(axes.i2gp(TAU, cos_graph), color=YELLOW, line_func=Line)
line_label = axes.get_graph_label(cos_graph, 'x=2\pi', x_val=TAU, direction=UR, color=WHITE)
plot = VGroup(axes, sin_graph, cos_graph, vert_line)
labels = VGroup(axes_labels, sin_label, cos_label, line_label)
self.play(Create(plot), run_time=6)
self.play(Create(labels), run_time=6)
👍9
#ОпределениеРасстоянияМеждуДвумяТочкамиНаЗемле
Код из видео:

from geopy.distance import geodesic

Moscow = (55.747592, 37.619908)

Peter = (59.925173, 30.330548)

distance_km = geodesic(Moscow, Peter).kilometers

print(f'Расстояние от Москвы до Питера составляет: {distance_km:.2f} км')
👍3
#ДелаемФотоНаВеб-камеруСПомощьюPython
Код из видео:

import cv2

cap = cv2.VideoCapture(0)

cap.set(cv2.CAP_PROP_FRAME_WIDTH, 1280)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 720)

ret, frame = cap.read()
cv2.imwrite('photo.png', frame)

cap.release()
#ИзвлекаемМетаданныеИзображенияСПомощьюPython
Код из видео:

from PIL import Image
from PIL.ExifTags import TAGS

imageName = 'image.jpg'

image = Image.open(imageName)

exifData = image.getexif()

for tag_id in exifData:
tag = TAGS.get(tag_id, tag_id)
data = exifData.get(tag_id)
if isinstance(data, bytes):
data = data.decode()
print(f'{tag:20}: {data}')
#СозданиеGIFАнимацииСПомощьюPython
Код из видео:

from PIL import Image

frames = []

for frame_number in range(1, 5):
frame = Image.open(f'im{frame_number}.png')
frames.append(frame)

frames[0].save(
'photo.gif',
save_all=True,
append_images=frames[1:],
optimize=True,
duration=100,
loop=0
)
👍3