-
Notifications
You must be signed in to change notification settings - Fork 97
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Transcoding from Python to Industry standard C++ #47
Comments
In short: Yes, we can make it difficult. If the above reason doesn't make much sense to CV people (@SravanChittupalli) then there's no point in doing it. |
@gautam-dev-maker , although I understand and support the argument for doing it in I completely disagree with @SAtacker 's idea of creating a miniature |
There are two perspectives one can look at:
|
@SAtacker we can all agree that if a person doesn't do any assignments given then there is no meaning to his/her attendance during this seminar. So if we just increase the level(of seminar) and give them basic exposure to c++ and image processing algorithms with assignments then at least they will know what to refer if they wish to explore c++ in other domains as well. |
Also we should consider another perspective, that is of the person who will teach. Imagine how much he/she will learn while preparing for any concepts. Like in Wall-E , we learnt many concepts while we were assigned those concepts to teach to our juniors. (@SAtacker PWM ka demo yaad hai na :-)) |
Python is a language that can be learned at any moment, but learning C++ first will undoubtedly improve the caliber of SRA peep. |
Might as well make a pros cons list |
|
|
|
From the cons section mentioned by @SAtacker , |
Seems like a nice idea! @amanchhaparia |
@meshtag I agree that this topic requires a thorough discussion, specially on future implications. This move may even sound radical given that this repo has not even completed 2 years of existence. Radical changes often put great impacts. Not to offend any so called python developer, but c++ users can easily do the current pixels_seminar level python if they put 1 day of effort. So I don't completely agree with "0 python exposure". Infact industry has promoted python so much that it has become part of peer pressure :). |
Kindly don't make the discussion here c vs c++ from c++ vs python. We don't want civil war at our hand 😂. |
Also adding to it, a person with only python having his/her primary language develops certain resistance to code in c/c++ in later stages, but converse is not true. |
If we all agree to port to c++, then we can proceed the discussion to the level of difficulty or specifically what changes we want to introduce wrt codebase and concepts. If you agree to proceed the discussion in the direction on how to switch to c++, then acknowledge (👍) this comment. |
Let's start with
Ancient Secrets of Computer Vision after seeing the repository , I think there is a need to add a part about how image rastor data is stored in a image file and how it is interpreted. (Although this might be too much). |
FYI, we can chose to proceed without touching build systems as well, manually linking required stuff and compiling each |
Content to be ported to C++:Make different section of the topics along with following appropriate coding standards. Each Topic will have a detailed
Content can be added:
Content to be removed:
Note: Scope of the content is up for discussion and is not yet finalised. |
The main draw of Pixels was the ease and intuiteveness of learning from the jupyter notebooks, of both the assignemnts and the seminar material, with the concise instructions and examples in each step. We can try to emulate the same by giving template C++ code files(possibly with main functions already written) where they only have to fill in the IP functions, also giving ellaborate build instructions and maybe even test scripts. A layer of complexity will also be added by abandoning NumPy. This means using vectors or just general cpp arrays as our main data containers. Some of the later numpy assignments prove tough for newcomers even with the help of the vast numpy methods. |
@Jash-Shah I think instead of using cpp vectors or arrays we can use the Mat class from opencv . To store images . This will make it way easier than vanilla c++ vectors or arrays . |
Should we fork the repo for transcoding it? Currently, this repo is complete by itself as a Python implementation of the concepts. Transcoding to another language can be done in a fork of this repo, this will leave the original repository for future reference as well. |
No we will create a release for the Python version(which can be used for reference) and will continue to change and port the contents in the original repository itself. |
resolved with the #101. |
The aim of the pixels seminar is to introduce the juniors with the basic concepts of image processing and computer vision. We started with python to keep it as simple as possible. But I feel the need to move from python to C++. C++ is complicated but is an industry standard.
If juniors were to introduce to C++ in this seminar than python, then they might be more willing to go through large c++ codebase in GSoC or any other programs or competitions. With the inclusion of C++, we can also introduce build systems (which honestly is the need of an hour).
This repository can also act as basic template for CV people getting started with C++.
@meshtag @amanchhaparia @SAtacker kindly share your opinion on this.
Also keep in account that at SRA, we advocate progress, regardless of how challenging or difficult it may seem at first.
The text was updated successfully, but these errors were encountered: