انجمنهای فارسی اوبونتو
کمک و پشتیبانی => انجمن عمومی => نویسنده: bagherkharrazi در 25 امرداد 1396، 08:48 بظ
-
با سلام خدمت عزیزان
رسم ادب اینه که اول خودم رو معرفی کنم
باقر هستم دانشجوی ترم آخر کارشناسی برق کنترل
من بابت پروژه کاشناسی میبایست از لینوکس استفاده میکردم که خوب واقعا علاقه پیدا کردم بهش
اما مشکل : داشتم کارمو میکردم ک توی ترمینال به پیامی برخورد کردم که هرچی میگردم راه حلش پیدا نمیشه ممنون میشم کمکم کنید
bagherkharrazi@bagherkharrazi-X556UR:~/Desktop$ ./cppInterface
init done
opengl support available
Segmentation fault (core dumped)
اون خط آخرش مشکل منه چطور باید برطرفش کنم؟
-
سلام باقرجان
دقیقاً چیو دارین ران می کنین منظورم اینه که اون فایل cppInterface چیه ؟
اگه اسکریپتی هستش محتواش رو بذارین و اگه برنامه ای هستش اسمش رو بذارین
-
ممنون از پاسخ سریعتون
پردازش تصویر
مربوط به کامپایل کردن C++ میشه
منتهی از کتابخونه OpenCV که کامل نصب شده بدون هیچ مشکلی
-
از C++ استفاده کردی دیگه، درسته؟ pointer هم استفاده کردی؟
-
ممنونم از توجه شما
ببینید کد رو میزارم اینه
#include <opencv2/opencv.hpp>
using namespace cv;
//main functions
void processImage();
void displayGraphics();
//images
Mat image;
Mat processedImage;
int main(int argc,char *argv[])
{
//creat a window
namedWindow("Image");
namedWindow("processed Image");
//load the image
if(argc>1){
image = imread(argv[1]);}
else{
image = imread("22.jpg");}
if(image.empty())
exit(1);
processImage();
displayGraphics();
waitKey(0);
//no need to release memory
return 0;
}
void displayGraphics()
{
//display both images
imshow("Image",image);
imshow("processed Image",processedImage);
}
void processImage()
{
int x,y;
Vec3b pixel;
unsigned char R,G,B;
processedImage = image.clone();
for(y=0;y<processedImage.rows;y++)
for(x=0;processedImage.cols;x++)
{
//get the pixle at (x,y)
pixel= processedImage.at<Vec3b>(y,x);
//get the separate colors
B=pixel[0];
G=pixel[1];
R=pixel[2];
//assign the complement to each color
pixel[0]=255-B;
pixel[1]=255-G;
pixel[2]=255-R;
//write the pixel back to image
processedImage.at<Vec3b>(y,x)=pixel;
}
}
این کد باید دو تا پنجره جهت نمایش تصویر باز کنه
-
ممنونم از توجه شما
خیر اصلا نمیدونم چی هست
تو ویندوز این داستان ها نبود
منم تازه کارم توی لینوکس
اشارهگر (https://fa.wikipedia.org/wiki/%D8%A7%D8%B4%D8%A7%D8%B1%D9%87%E2%80%8C%DA%AF%D8%B1_(%D8%B9%D9%84%D9%88%D9%85_%D8%B1%D8%A7%DB%8C%D8%A7%D9%86%D9%87))
این ارور seg. fault رو معمولا وقتی میده که از اشارهگرها به درستی استفاده نکردی باشید. این پیام خطا مربوط به memory هست.
-
ممنونم از لطفت عالی بود راهنماییتون مشکل از کد بود