<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های پوریا توانا</title>
        <link>https://virgool.io/feed/@persian1379pr</link>
        <description>مهندس کامپیوتر( نرم افزار ). فول استک دولوپر( جنگو ـ ریکت ). علاقه مندبه بازارهای مالی( به جز بورس:( )</description>
        <language>fa</language>
        <pubDate>2026-06-17 12:17:42</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/1399968/avatar/6g2nDL.png?height=120&amp;width=120</url>
            <title>پوریا توانا</title>
            <link>https://virgool.io/@persian1379pr</link>
        </image>

                    <item>
                <title>DailyFx Crawler</title>
                <link>https://virgool.io/@persian1379pr/dailyfx-crawler-hha6mthy0le3</link>
                <description>سلام به همه دوستانراستش چند وقت پیش ی script واسه crawl کردن وبسایت DailyFx(دوستانی که تو بازارهای مالی خارجی کار می کنند احتمالا آشنا هستندبا این سایت، اگرم نیستید عب نداره، ی تقویم اقتصادیه، این لینک برید تو احتمالا میفهمید چی به چیه DailyFx) نوشته بودم، امروز بعد مدتی اومدم دوباره استفاده کنم دیدم المان های(Elements) وبسایت تغییر کرده و کد قبلی کار نمی کنده دیگه! این شد که تصمیم گرفتم بصورت پیوسته سورس کد ورژن اولیه رو آپدیت کنم متناسب با سایت و تو ورژن کنترل گیت قرار بدمش شاید بدرد کسی خورد :)بطور خلاصه هم بخوام بگم چیکار می کنه اینطوریه که با کتابخونه selenium  پاپتون و chromewebdriver مرورگر کروم میاد و خبرهای هفته آینده با درجه اهمیت متوسط و زیاد رو داخل ی فایل csv ذخیره می کنه(پیشنهاد میشه واسه اینکه دیتایی از دست ندید این script رو قبل از شروع هفته میلادی یعنی شنبه/ی شنبه ران کنید) و بعدش می تونید این فایل رو داخل google calendar خودتون اپلود(صادر) کنید لذتشو ببرید!:)</description>
                <category>پوریا توانا</category>
                <author>پوریا توانا</author>
                <pubDate>Sat, 23 Sep 2023 20:53:29 +0330</pubDate>
            </item>
                    <item>
                <title>بینایی در تشخیص چهره</title>
                <link>https://virgool.io/@persian1379pr/%D8%A8%DB%8C%D9%86%D8%A7%DB%8C%DB%8C-%D8%AF%D8%B1-%D8%AA%D8%B4%D8%AE%DB%8C%D8%B5-%DA%86%D9%87%D8%B1%D9%87-mnerhrkopqt2</link>
                <description>دراین مقاله قصد دارم ی داکیومنت از مرحله به مرحله روند اجرای پروژه بینایی ارایه بدمبینایی در تشخیص و شناسایی چهره به طور خاص تر شامل ۴ بخش زیر میشه:۱) شناسایی چهره فرد مورد نظر (face detection)۲) شناسایی هویت فرد مورد نظر(face recognition)۳) شناسایی جهت چهره فرد مورد نظر(face positioning)۴) ردیابی چهره  فرد مورد نظر(face tracking)دراین پروژه سعی شده هر چهار حالت تا حدودی پوشش داده بشه.گام اول (virtualenv):ابتدا لازمه یه محیط ایزوله(مجازی) یا همون virtual ienviroment ایجاد کنیم(الزامی نیست ولی بودنش بهتره) و اونو فعال کنیم:از این دوتا لینک می تونید کمک بگیریدhttps://virgool.io/@pharzan/python-virtual-enviroment-egsd4jea6gi5https://blog.faradars.org/python-virtual-environments/گام دوم(مقدمه، پیش نیازها و وابستگی ها):اساس کار این پروژه بر مبنای deep metric learning (فرقش با  deep metric learning چیه؟) هستاگر تجربه قبلی در زمینه یادگیری عمیق دارید، می‌دونید که ما معمولاً شبکه‌ای را آموزش می‌دیم تا یک تصویر ورودی را بپذیره و یک طبقه بندی/برچسب برای آن تصویر خروجی بگیرید.با این حال، یادگیری متریک عمیق متفاوت است. به جای تلاش برای خروجی یک برچسب واحد (یا حتی مختصات/جعبه مرزی اشیاء در یک تصویر)، در عوض یک بردار ویژگی با ارزش واقعی را خروجی می‌دهیم.برای شبکه تشخیص چهره dlib، بردار ویژگی خروجی 128-d (یعنی لیستی از 128 عدد با ارزش واقعی) است که برای تعیین کمیت صورت استفاده می شود.معماری شبکه ما برای تشخیص چهره مبتنی بر ResNet-34 است.لینک اطلاعات بیشتر: https://arxiv.org/abs/1512.03385دراین پروژه ۴ تا پیش نیاز داریم که باید قبل از اجرای پروژه اونارو نصب و کانفیک کنیماولیش کتابخونه dlib هست. این کتابخونه از Davis King که حتما پیش نهاد میکنم این مقالشو بخونید http://blog.dlib.net/2017/02/high-quality-face-recognition-with-deep.htmlواسه نصبش کافیه دستور زیر را در ترمینال(محیط مجازی یا گلوبال) وارد کنید$ pip install dlibدومیش کتابخونه face_recognition هست.این کتابخونه از Adam Geitgey که بازم پیشنهاد جدی تری میکنم این مقالشو بخونید(به فارسیم ترجمه شده)https://medium.com/@ageitgey/machine-learning-is-fun-part-4-modern-face-recognition-with-deep-learning-c3cffc121d78واسه نصبش کافیه دستور زیر را در ترمینال(محیط مجازی یا گلوبال) وارد کنید$ pip install face_recognitionسومین مورد کتابخونه نام اشنای opencv هستش. $ pip install opencv-pythonو اخرین مورد کتابخونه imutils هست.$ pip install imutilsگام سوم(ساختار پروژه):ساختار پروژه به این صورت هستdataset/حاوی تصاویر چهره برای کاراکتر هاست که بر اساس نام مربوطه در زیر شاخه‌ها سازماندهی شده‌اند.examples/دارای تعدادی تصویر چهره برای آزمایش است که در مجموعه داده نیست.output/اینجا جایی است که می تونید ویدیوهای پردازش شده تشخیص چهره خود را ذخیره کنید.videos/ویدئوهای ورودی باید در این پوشه ذخیره شوند.search_bing_api.pyساخت یک مجموعه داده است (من قبلاً این کار را  انجام دادم واستون).پس احتمالا نیازی بهش نخواهید داشت encode_faces.pyرمزگذاری (بردارهای 128 بعدی) برای چهره ها با این اسکریپت ساخته شده است.recognize_faces_image.pyتشخیص چهره ها در یک تصویر واحد (بر اساس رمزگذاری های مجموعه داده شما).ورودیش ی عکس داخل دایرکتوری examples/ و خروجیش چهره و هویت شناسایی شده اشخاص در قالب ی عکس هستrecognize_faces_video.pyتشخیص چهره ها به صورت زنده و با استفاده از وبکم سیستمrecognize_faces_video_file.pyتشخیص چهره ها در فیلمورودیش ی فیلم هست که داخل دایرکتوری videos/ و خروجیش چهره های شناسایی شده در قالب فیلم هست که میتونید داخل دایرکتوری output/  مشاهدشون کنید encodings.pickleرمزگذاری‌های هایی که از طریق  encode_faces.py تولید می‌شند اینجا نوشته و ذخیره میشند.گام چهارم(توضیحات کدها):توضیحات کاملی از کدهای پروژه داخل خود پروژه کامنت گذاری شدهلینک پروژه:  https://drive.google.com/drive/folders/1JMG_58GjhIWEiaIF-9tGPDLvdoiiGffa?usp=sharingگام پنجم(نحوه اجرای پروژه):درقالب یک فیلم کوتاه به طور کامل نحوه اجرای پروژه توضیح داده شدهلینک فیلم:  https://drive.google.com/file/d/1SgfBv5_AnhlDJ3_523JsMT_nTHAWIgVT/view?usp=sharingامیدوارم که واستون مفید بوده باشه.</description>
                <category>پوریا توانا</category>
                <author>پوریا توانا</author>
                <pubDate>Thu, 13 Jan 2022 21:39:46 +0330</pubDate>
            </item>
                    <item>
                <title>اموزش نصب QT و OpenCV بر روی Ubuntu</title>
                <link>https://virgool.io/wptips/%D8%A7%D9%85%D9%88%D8%B2%D8%B4-%D9%86%D8%B5%D8%A8-qt-%D9%88-opencv-%D8%A8%D8%B1-%D8%B1%D9%88%DB%8C-ubuntu-lcf7davym7wq</link>
                <description>سلام به همه دوستان، قراره سریع و ساده نصب QT داخل Ubuntu و openCV داخل QT یاد بگیریم.ابتدا لازمه برنامه مدنظر از ی سایتی که دوس دارید دانلود کنید، من از فایل نیکو دانلود کردم، چرا؟(چون دانلود از سرورهای مجموعه نیکو واسه ما اصفهانیا به شرطی که service providerمون مخابرات باشه رایگانه)اینم لینکش https://fileniko.com/entry/47008فایلی که من دانلود کردم واسه لینوکس با پسوند .run هست چجوری نصبش کنم حالا؟فایل qt-opensource-linux-x64-5.14.0.run که تو عکس بالا میبیند پیشفرض ثابلیت اجرایی نداره(از کجا فهمیدم؟ یکی اینکه رنگش سفیده دوم اینکه اون x کوچیکه اخرش نیست)پس میام و دستور chmod +x qt-opensource-linux-x64-5.14.0.run اجرا میکنم تا سبز بشه، قابل اجرا باشه، اون x اخرشم بگیره:(حالا کافیه با دستور sh qt-opensource-linux-x64-5.14.0.run یا ./qt-opensource-linux-x64-5.14.0.runاجراش کنم.گزینه next رو میزنماگه حساب ندارید یکی بسازید و ثبت نام کنید(احتمالا شکن بخواد)، اگه هم مثل من قبلا حساب دارید کافیه لاگین کنید فقط.گزینه next رو میزنممحل نصب نرم افزار Qt را تعیین می کنیم. سپس گزینه next را انتخاب می کنیم.در اینجا باید انتخاب کنید کدام یک از tools ها نصب بشند. انتخاب هارو میتونید طبق شکل انجام بدیددر اینجا باید موافقت خودمونو با موارد مندرج در لایسنس مورد استفاده را اعلام کنیمگزینه install را انتخاب می کنیم تا نصب نرم افزار Qt آغاز شود.برنامه Qt با موفقیت روی سیستم شما نصب شدخب از اونجایی نصب qt سادست و منابع فارسی زیادی با ی سرچ ساده واسه نصبش پیدا می کنید زیاد روش مانور ندادم.قبل از نصب openCV یکی از چالش هایی که ممکنه باهاش برخورد کنید اینکه زمانی که new project می کنیدو مثلا یکی از دوتا حالت  qt console application یا plain application یا حالا هرحالت دیگه که انتخاب می کنیدزمانی که choose رو می زنید و گام های پایین طی می کنیداینجا ی اسم واسه پروژه و ادرس بهش می دیماینجا build system میتونه qmake یا cmake باشه، qmake سازگاری بیشتری داره با qt&amp;qmlگزینه cmake با محصول CLion شرکت jetbrains سازگاری خیلی خوبی دارهاینجا زبون فارسی هم داره میتونید انتخاب کنیدخب رسیدیم به اون چالشه که گفتم، اگه اینجا واستون هیچ کیتی به صورت پیشفرض نیاورد مراحل پایینو با من پیش بیاید تا حلش کنیم باهمروی گزینه manage لیک کنیدروی گزینه Desktop(default) کلیک کنیدحالا بیاید پایین صفحه قسمت Qt version، روی drop down list یا به قول دسکتاپ کارا روی combobox کلیک کنید. اگه گزینه پیشفرضی نشون نداد روی manage کنارش بزنیدمیاید به این صفحه، اینجا واسه شما manual هیچ چیزی نشون نمیده.روی add کلیک کنید و دنبال ادرس که  qt نصب کردید بگردید.خب زیاد نگردید چون احتمالا پیداش نمی کنید:(برنامه qt ببندید.دستور sudo apt-get install qt5-default داخل ترمینال بزنیدواسه اینکه مطمین بشید نصب شده دستور qmake --version بزنیدحالا qt رو بازکنید و دوباره ی new project بزنید. الان باید kit رو پیدا کنه.اگه پیدانکرد ی بار سیستم خاموش روشن کنید ودوباره تست کنید.اگه بازم حل نشده بود پایین همین مقاله کامنت بزارید تا ی راه حل دیگه باهم تست کنیم(اون جوابه دیگع!)رسیدیم به قسمت سخت کار که منابع فارسی درست و درمونی واسش نیس یا حداقل من چیزی پیدانکردم:(واسه نصب openCV روی QT مراحل زیر باهم پیش می گیریم(لازمه صبور باشید)sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev  libdc1394-22-devابتدا لازمه وابستگی هایی بسته به نیازتون نصب کنید. مثل مواردی که بالا در ترمینال بزنیدی توضیح مختصر از این ماژولا که از فروم خود qt گرفتم میزارمlibgtk2.0-dev The default GUI backend for highgui on OSes other than Windows and MacOSX.libtiff4-dev For reading and writing TIFF images.libjasper-dev Library for the coding and manipulation of images (e.g. JPEG-2000 format).libavformat-dev Library containing demuxers and muxers for audio/video container formats.libswscale-dev Library containing video image scaling and colorspace/pixelformat conversion routines.libavcodec-dev Library containing all the FFmpeg audio/video encoders and decoders.libjpeg-dev For reading and writing JPEG images.libpng-dev For reading and writing PNG images.git clone https://github.com/opencv/opencv.git &amp;&amp; git clone https://github.com/opencv/opencv_contrib.git &amp;&amp; cd ./opencv &amp;&amp; mkdir build &amp;&amp; cd ./buildاخرین ریلیس(ریلیز!) opencv از گیت میگیریم.میریم به مسیر opencv و دایرکتوری build داخلش میسازیم و میریم داخل دایرکتوری  buildcmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_DOCS=ON -DBUILD_EXAMPLES=ON -DOPENCV_EXTRA_MODULES_PATH=&quot;~/opencv_contrib/modules&quot; -DPYTHON3_EXECUTABLE=/usr/bin/python3.8 -DPYTHON_INCLUDE_DIR=/usr/include/python3.8 -DPYTHON_INCLUDE_DIR2=/usr/include/x86_64-linux-gnu/python3.8  -DPYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.8.so -DPYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3.8/dist-packages/numpy/core/include/ -DOPENCV_GENERATE_PKGCONFIG=ON -DBUILD_opencv_apps=ON ..فلگ های مورد نیازمونو اونجا ست می کنیمزمانی که پیغام موفیت ثبت فلگ ها مث پیغام بارو دیدیم اقدام به کامپایل می کنیمدستور make -j$((&#x60;nproc&#x60;-1)) واسمون کامپایل میکنهزمانی که کامپایل ۱۰۰ شد شروع به نصب می کنیمبا دستور sudo make install شروع به نصب می کنیمزمانی که ۱۰۰ شد کارمون با نصب openCV تموم شده.لازمه دوتا سطر کد پایین رو به پوشه .pro پروژتون داخل qtاضافه کنید تا این کتابخونه رو بشناسهINCLUDEPATH += /usr/local/include/opencv4LIBS += -L/usr/local/lib -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_objdetect -lopencv_imgcodecs -lopencv_videoioالان می تونید کتابخونه opencv اضافی کنید و استفاده کنیدامیدوارم که واستون مفید بوده باشه.راستی ترم سوم دانشگاه که بودم یه بازی ساده با qt نوشته بودم که لینکشو پایین میزارم قصد داشتم بعدا ui/ux و تعداد جداولای بازی و ی AI کوچیک بهش اضافی کنم ولی هنوز انجامش ندادم.اگه مایل بودید ی نگاه بندازیدhttps://github.com/Pooria0098/TicTacToe</description>
                <category>پوریا توانا</category>
                <author>پوریا توانا</author>
                <pubDate>Sat, 01 Jan 2022 17:08:03 +0330</pubDate>
            </item>
            </channel>
</rss>